Citadelo logo

Všechny články

1 březen 2024 / 3 minuty čtení

CVE Upozornění: Knihovna API Pythonu s vážným rizikem vzdáleného spuštění kódu


Nezabezpečená deserializace YAML v souboru yaml.loader v transmute-core před verzí 1.13.5 umožňovala útočníkům spustit libovolný kód Pythonu.

Náš pentester Josef objevil zranitelnost ve veřejné knihovně pythonu, kterou používá REST API aplikace. Zranitelnost byla nalezena v podpoře knihovny pro různé typy obsahu, které lze použít ke komunikaci s rozhraním API. Zatímco výchozím typem obsahu pro rozhraní API byl JSON, bylo zjištěno, že knihovna podporuje také YAML.

Problém vznikl proto, že knihovna používala špatně nakonfigurovanou knihovnu pro parsování YAML - pyYAML, což ji činilo zranitelnou vůči nebezpečné deserializaci YAML. To znamenalo, že útočník mohl zneužitím této chyby spustit libovolný kód (tzv. Remote Code Execution).

Abychom zranitelnost odhalili, vyzkoušel náš tým při interakci s rozhraním API různé typy obsahu. U některých nepodporovaných typů obsahu rozhraní API reagovalo chybovou zprávou, že daný typ obsahu není podporován, nicméně také uvedlo všechny podporované typy obsahu, z nichž jeden byl YAML....

Protože typ obsahu YAML není rozhraním API často používán a protože náš tým z jiných zjištění věděl, že řešení je napsáno v jazyce Python, okamžitě zkusil využít známý vektor v parsování YAML v jazyce Python - Unsafe Deserialization. Tento vektor se ukázal jako platný a bylo dosaženo vzdáleného spuštění kódu. Tím byl neúmyslně získán přístup k citlivým informacím o implementaci a konfiguraci aplikace, které mohl útočník potenciálně zneužít.

Objevení této zranitelnosti nám umožnilo upozornit klienta a poskytnout dočasná doporučení pro nápravu, protože používaná knihovna nebyla jím udržována, oslovili jsme autora knihovny, nahlásili zranitelnost spolu s návrhem na opravu problému a podali žádost o identifikaci CVE, která byla přijata a identifikována jako CVE-2023-47204. Autor knihovny neprodleně vydal novou, opravenou verzi. Poté byl klient upozorněn, aby problém řešil aktualizací knihovny.

Pro organizace je zásadní pravidelně vyhodnocovat zabezpečení svých systémů a aplikací, a to jak prostřednictvím interního testování, tak externího penetračního testování. To pomáhá identifikovat a řešit zranitelnosti dříve, než je mohou zneužít záškodníci.

Závěrem lze říci, že zranitelnost objevená v knihovně používané rozhraním REST API ukázala potenciální rizika rozšíření plochy pro útoky používáním knihoven třetích stran, které nejsou pravidelně testovány nebo časem prověřeny. Slouží jako připomínka, že je třeba při vývoji softwaru upřednostňovat bezpečnost a pravidelně provádět posouzení zabezpečení, aby se zmírnily potenciální hrozby.

Kontaktujte nás ještě dnes a proměňte své slabiny ve silné stránky!

logo
Member of Boltonshield

Přihlaste se k odběru našeho newsletteru a získejte všechny důležité novinky v oblasti kybernetické bezpečnosti a etického hackování.

© 2024 citadelo AG. Všechna práva vyhrazena.

facebooklinkedinxyoutube