Nuclei sérülékenység: Aláírásellenőrzés megkerülése rosszindulatú sablonokkal

kami911 képe

Egy nemrég felfedezett, mostanra javított sérülékenység a Nuclei nyílt forráskódú sérülékenységkeresőben lehetőséget adott támadóknak arra, hogy kikerüljék az aláírásellenőrzést, és rosszindulatú kódot illesszenek be sablonokba, amelyek helyi rendszereken hajtódnak végre.

Mi az a Nuclei?

A Nuclei a ProjectDiscovery által fejlesztett népszerű nyílt forráskódú eszköz, amely weboldalak sérülékenységeit, hibás konfigurációit, illetve hátsó ajtókat (backdoors) keres. A rendszer több mint 10 000 YAML-alapú sablont használ, amelyek ismert problémákra szűrnek. Ezek a YAML sablonok kódprotokollokat is tartalmazhatnak, amelyek helyi parancsok vagy szkriptek futtatására képesek, így kibővítve a sablon funkcionalitását. A sablonok integritását úgynevezett "digest hash" ellenőrzi, amely biztosítja, hogy azokat ne módosítsák rosszindulatú célokra.

A CVE-2024-43405 azonosítójú sérülékenységet a Wiz kutatói fedezték fel, és lehetőséget nyújtott a támadóknak, hogy rosszindulatú kódot rejtsenek el a sablonokban anélkül, hogy az aláírásellenőrzés figyelmeztetne erre.

Hogyan működött a sérülékenység?

A sérülékenység két kulcspont köré épült:

  1. Sorvégek eltérő kezelése:
    A Go nyelv regex-alapú aláírásellenőrzése a \r karaktert ugyanazon sor részének tekinti, míg a YAML elemző (parser) ezt sorközi törésként értelmezi. Ez a különbség lehetőséget adott a támadóknak rosszindulatú tartalom beszúrására, amely megkerüli az ellenőrzést, de végrehajtásra kerül a YAML értelmezése során.

  2. Többszörös "# digest:" sorok kezelése:
    A Nuclei csak az első # digest: sort ellenőrizte, a további sorokat figyelmen kívül hagyta. Ezt kihasználva a támadók érvényes aláírás után további rosszindulatú kódot tartalmazó # digest: sorokat adhattak a sablonhoz, amelyek végrehajtódtak.

Javítás és ajánlások

A Wiz kutatói 2024. augusztus 14-én felelősségteljesen jelentették a sérülékenységet a ProjectDiscovery csapatának, amely szeptember 4-én kiadta a javítást a Nuclei v3.3.2 verziójában.

Mit tehet a felhasználó?

  1. Frissítés:
    Azoknak, akik még régebbi verziókat használnak, erősen ajánlott mielőbb frissíteniük a legújabb verzióra.

  2. Izolált környezet használata:
    A kutatók javasolják, hogy a Nuclei-t virtuális gépben vagy izolált környezetben futtassák, ezzel minimalizálva a rosszindulatú sablonok által okozott károkat.