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

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!

O autorovi

Citadelo
Citadelo
Citadelo je dům plný etických hackerů na vaší straně. Myslíme jako útočník, avšak nezneužíváme toho. Ba naopak, naším hlavním cílem je odhalit zranitelnost bez napáchaných škod. Pro naše klienty připravujeme simulované útoky již od roku 2006. Pomáháme otestovat jejich informační bezpečnost. Podrobte své IT prostředí výzvě a odhalte, do jaké míry jsou vaše citlivá data chráněna.
Zobrazit více od autora

Podobné blogy