CVE-2024-4577: PHP argumentuen injekzioa Windows-en
Partekatu
Ekainaren 6an, Orange Tsai-k PHPri eragiten dion ahultasun berri bat agertu zuen, Windows-erako PHPren bertsio guztietan (PHP CGI moduan bereziki hizkuntzatan: txinera eta japonieraz), XAMPP zerbitzarietako lehenetsitako instalazioak barne.
Arazoaren oinarria CGI motorrak karaktereen prozesamendu eskasean dago (12 urteko CVE-2012-1823 ahultasunaren antzekoa). Motor honek (0xAD) interpretatzen du eta "soft script" gisa deskodetzen du, PHP "benetako script" bihurtuko duena mapatze-funtzioari esker, "egokipenik onena" funtzioari esker, eta horrela agente maltzur bat izan daiteke. kode arbitrarioa exekutatzeko erabiltzen da
Eragindako bertsioak
Ahultasun hau CVSS 3.1 neurketen arabera 9.8 kritiko gisa baloratu da NIST, eta kaltetutako bertsioak hauek dira:
- PHP 8.3 <8.3.8
- PHP 8.2 < 8.2.20
- PHP 8.1 <8.1.29
Explotazioa
Ahultasun hori ustiatzeko, ezaugarri batzuk beharrezkoak dira biktimaren makinan:
- PHP softwarea CGI moduan konfiguratu behar da.
- Ustiapena posible da php.exe edo php-cgi.exe bitarrak agerian jartzen badira (instalazio lehenetsi guztiak XAMPP Windows-en).
- Sistema eragileak Windows izan behar du.
Ahultasun hori lehen aipatutako CVE-2012-1823aren oso antzekoa denez, ustiapen teknikak erabil daitezke. Horretarako, teknika hauen arabera, injekzioa RCEra itzultzeko, honako argumentu hauek sartzen saiatu beharko zenuke:
Honek HTTP eskaeraren gorputzaren sarrera ahalbidetuko du eta PHP erabiliz prozesatu. Adibide eskaera bat sortu zen "soft script"-aren ordez "benetako script" gehituz, eta eskaeraren gorputzean phpinfo orria ikusteko aukera ematen zuen php kode bat gehitu zen, RCE lortu zela frogatuz.
Pantaila-argazkietan ikus dezakezun bezala, kodea eskaeran argumentuak sartuz exekutatu da. Horrek arazo larria suposatzen du, agente gaizto batek ahultasun hori erabil baitezake CVE honek kaltetutako edozein makina kontrolatzeko, haren konfidentzialtasunari, osotasunari eta erabilgarritasunari eraginez.
Ahultasuna identifikatzea eta arintzea
Sistemen ahultasuna identifikatzeko, PHP bertsioa ikuskatuz egin daiteke.
Ahultasuna arintzeko, PHP softwarea batez ere adabaki berrietara eguneratu behar da:
- 8.3.8
- 8.2.20
- 8.1.29
Oso garrantzitsua da azken eguneratzea aplikatzea, aktore gaiztoek TellYouThePass ransomwarea erabiltzen ari baitira aktiboki ustiatzeko.
Javier Muñoz, Zerolynxeko zibersegurtasun analista