Schwachstelle am Python, deen Systembefehle erlaabt aus isoléierte Skripte ze ruffen

Eng Method gouf publizéiert fir isoléiert Code Ausféierungssystemer am Python z'iwwergoen, baséiert op der Benotzung vun engem laang bekannte Käfer deen am Python 2.7 erschéngt, gouf 2012 identifizéiert an ass nach net am Python 3 korrigéiert. De Käfer erlaabt speziell verlinkt ze benotzen Python Code fir Zougang zu scho befreit Erënnerung (Use-After-Free) am Python ze initiéieren. Am Ufank gouf ugeholl datt de Feeler keng Sécherheetsbedrohung duerstellt an nëmmen a ganz rare Fäll, normalerweis kënschtlech erstallt, zu enger anormaler Kënnegung vum Skript féieren kann.

E Sécherheetsfuerscher ënner dem Pseudonym kn32 huet sech fir de Problem interesséiert an huet et fäerdeg bruecht en Aarbechtsexploit ze preparéieren, deen et méiglech mécht all Systemkommando ze ruffen ouni direkten Zougang zu Methoden wéi os.system ze hunn. Den Ausbeutung gëtt a pure Python ëmgesat a funktionnéiert ouni externe Bibliothéiken z'importéieren an ouni den "Code.__new__" Handler z'installéieren. Vun den Haken gëtt nëmmen "builtin.__id__" benotzt, wat normalerweis net verbueden ass. Op der praktescher Säit kann de proposéierte Code benotzt ginn fir Isolatiounsmechanismen a verschiddene Servicer an Ëmfeld ze ëmgoen (zum Beispill a Léierëmfeld, Online Shells, agebaute Handler, etc.), déi d'Ausféierung vum Python Code erlaben, awer d'Limitatioun vum disponibel Uriff an erlaben net Opruff Methoden wéi os.system.

De proposéierte Code ass en Analog vum os.system Uruff, dee funktionnéiert andeems Dir eng Schwachstelle am CPython exploitéiert. Den Exploit funktionnéiert mat all Versioune vu Python 3 op Systemer mat x86-64 Architektur a weist stabil Operatioun op Ubuntu 22.04, och wann PIE, RELRO an CET Schutzmodi aktivéiert sinn. D'Aarbecht kënnt erof op Informatioun vum Python Code iwwer d'Adress vun enger vun de Funktiounen am ausführbare CPython Code ze kréien. Baséierend op dëser Adress gëtt d'Basisadress vum CPython an der Erënnerung an d'Adress vun der System () Funktioun an der libc Instanz, déi an der Erënnerung gelueden ass, berechent. Um Enn gëtt en direkten Iwwergang op eng spezifesch Systemadress initiéiert mat der Ersatz vum Zeiger vum éischten Argument op d'Linn "/ bin / sh".

Schwachstelle am Python, deen Systembefehle erlaabt aus isoléierte Skripte ze ruffen


Source: opennet.ru

Setzt e Commentaire