Hlavní navigace

Stack Clash - lokální zranitelnost v Linuxu, BSD a Solarisu

Sdílet

Jan Fikar 20. 6. 2017

Včera byla zveřejněna lokální zranitelnost Stack Clash, která umožňuje lokálně přepsat paměť, spustit libovolný kód nebo získat oprávnění roota. Zranitelné jsou Linux, OpenBSD, NetBSD, FreeBSD a Solaris na platformách i386 a amd64.

Útoky na zásobník (stack) jsou známé již z let 2005 a 2010, v roce 2010 Linux přidal stack guard-page. Tato ochrana je však před novým útokem neúčinná. Jde hlavně o zranitelnost CVE-2017–1000364 , která ukazuje, že stack guard-page s pár kB není dostatečná. Dále byly objeveny další zranitelnosti například  CVE-2017–1000365 a CVE-2017–1000367.

Obranou proti Stack Clash by bylo zvětšení stack guard-page na alespoň 1 MB, což od roku 2010 umožňuje PaX nebo grcsecurity. Toto řešení je jednoduché, ale krátkodobé. Půjde obejít speciálním útokem.

Druhým řešením je překompilovat všechny programy i knihovny s gcc -fstack-check. Toto dlouhodobé řešení je složitější, ale mělo by fungovat jen s 4 kB stack guard-page. Více v detailním popisu zranitelnosti.

(zdroj: securityaffairs)

Našli jste v článku chybu?
  • Aktualita je stará, nové názory již nelze přidávat.