Néhány nappal ezelőtt a kiberbiztonsági cég Qualys leleplezett egy blogbejegyzésen keresztül két felfedezése sírolyan sebezhetőségek, amelyek hatással vannak közvetlenül a apport és systemd-coredump, a Linux rendszerekben széles körben használt eszközök a memóriaképek kezelésére folyamatok összeomlása után.
A bukások, CVE-2025-5054 és CVE-2025-4598 néven azonosítva, komoly kockázatoknak teszik ki a különféle disztribúciókat a privilegizált folyamatok memóriájában tárolt bizalmas adatok kiszivárgásának tekintetében.
A szeméttelepekben rejlő kockázatok
így hozza (főleg Ubuntuban használják) systemd-coredump (Red Hat, Fedora és más disztribúciókban használatosak) felelősek a rendszerhiba után keletkező alapvető fájlok feldolgozásáért. Ezek az eszközök azonban Versenyhelyzetet jelentenek, amelyet egy támadó kihasználhat hogy hozzáférhessen ezekhez a fájlokhoz, még akkor is, ha azok SUID alkalmazásokból vagy emelt jogosultságokkal rendelkező rendszerfolyamatokból származnak.
A memóriaképek rendkívül érzékeny információkat tartalmazhatnak., például az /etc/shadow fájlból kinyert jelszó-hash-ek, gyorsítótárazott titkosítási kulcsok vagy hitelesítési adatok. Ha egy támadó sikeresen kihasználja ezeket a sebezhetőségeket, akkor normál felhasználóként olvashatja ezeket a memóriaképeket, megkerülve azokat a korlátozásokat, amelyeknek csak a rendszergazda hozzáférését kellene korlátozniuk.
Az Apport és a systemd-coredump sebezhetőségeinek kihasználása komolyan veszélyeztetheti a bizalmas adatvédelmet. A következmények közé tartozik a működési leállás, a hírnév károsodása és a szabályozási előírások be nem tartása.
Hogyan lehet kihasználni az Apport hibáit?
Az apport elleni támadási vektor kifinomult technikát alkalmaz:
- Egy suid jogosultságokkal rendelkező folyamat, például a unix_chkpwd elindul, amely a memóriában található érzékeny adatokhoz fér hozzá.
- Mielőtt a végrehajtása véget érne, egy SIGSEGV-hez hasonló jellel megszakítják, hogy hibát idézzenek elő.
- Ez aktiválja az Ubuntu memóriakép-kezelő rendszerét, amely automatikusan elindítja az apport programot.
- A támadó a dump elemzése előtti rövid időszakban egy normál suid folyamattal helyettesíti a suid folyamatot, külön névtereket és PID-manipulációkat használva a rendszer megtévesztésére.
- Ennek eredményeként az apport feldolgozza és elmenti a memóriaképet normál engedélyekkel, lehetővé téve a támadó felhasználó számára, hogy szabadon hozzáférjen annak tartalmához.
Ez a módszer Ubuntu 24.04-en sikeresnek bizonyult., ami arra utal, hogy más, hasonló viselkedésű verziók és disztribúciók is veszélyben lehetnek.
A systemd-coredump-ot célzó támadások: kevesebb lépés, ugyanaz a veszély
A systemd-coredump esetében a támadás közvetlenebb. és nem igényli a különálló névtereken belüli folyamatok lecserélését. Egyszerűen okozzon egyezést az AT_UID és az AT_EUID között, melyikLehetővé teszi a folyamat értelmezésének manipulálását ami az összeomlást okozta. Bár a systemd-coredump gyorsabban indul, mivel C nyelven íródott, mesterségesen lelassítható. Nagyszámú argumentum átadása a suid folyamatnak növeli a cmdline fájl feldolgozási idejét, generálva a csere végrehajtásához szükséges időintervallumot.
Ezenkívül a kutatók azt is megállapították, hogy a systemd-coredump nem használja megfelelően a %d jelzőt a core_pattern-ben, lehetővé téve a nem SUID rendszerfolyamatok, például az sshd-session, az sd-pam vagy a cron elleni támadások indítását. Ez a mulasztás megnyitja az utat a privát kulcsok, veremadatok, jelszó-hashek és az olyan védelmek megkerülésére használt értékek kinyeréséhez, mint az ASLR.
Mérséklés és ajánlott intézkedések
A probléma súlyosságára való tekintettel azonnali intézkedés javasolt:
- Memóriakilövések letiltása suid programokhoz: Ez a suid_dumpable paraméter 0-ra állításával érhető el, ami megakadályozza, hogy ezek a folyamatok hozzáférhető memóriaképeket generáljanak.
- Érintett csomagok frissítése: A nagyobb disztribúciók már készítik elő a frissítéseket a sebezhetőségek javítására.
Bár a sebezhetőség enyhítése az első lépés, megemlítik, hogy a megoldás a Linux kernel módosítását igényli. Különösen a következőket: Javasolt egy pidfd-t használó rendszer megvalósítása. a hagyományos pid azonosítók helyett, mivel a pidfd meghatározott folyamatokhoz van kötve, és nincs átosztva. Ez megakadályozná, hogy egy folyamat átvegye az irányítást az összeomlás és a memóriakép létrehozása közötti időszakban.
Végül, ha többet szeretne megtudni róla, a részletekről tájékozódhat a következő link.