FreeBSD root exploit

Na das Release kam ja - an dieser Stelle [ironie] Danke an Heise [/ironie] - eh schon mehr oder Weniger einen Tag zu früh.

Ich frage mich ja was ich mit dieser
Code:
 Betroffen sind FreeBSD 8.0-RELEASE und FreeBSD 7.1-RELEASE. FreeBSD 6.3-RELEASE und FreeBSD 4.9-RELEASE sind jedoch nicht verwundbar.
absolut sinnfreien Aussage tun soll. Danke an Heise für astreinen (den Witz kennen zum Glück nur 2 Leute außer mir die dashier lesen werden) Journalismus.
 
Hi,


Naja, ich würd mal sagen das passiert. Und zwar viel viel seltener als das bei Linux/Gnu Userland der Fall ist.
Als Fix-Workaround kann man ja die mountpoints mit noexec remounten. Was aber bei Hardend System sowieso der fall sein sollte.
 
Hi,

Ich bin neu hier und das kommt jetzt vielleicht ein wenig unpassend,
aber ich muss mich hier erst mal zurecht finden und würde gerne wissen wo man hier selbst
Beiträge verfassen kann.
Kann mir da jemand helfen?
Würde mich sehr freuen.
 
Die Mail erklärt so einiges.
Also wird man wohl davon ausgehen dürfen dass 7 und 8 betroffen sind, die vorherigen Branches jedoch nicht.

Hoppala. Heise hatte sie sogar verlinkt. In dem Fall Schande auf mein Haupt.
 
Hi,
Naja, ich würd mal sagen das passiert. Und zwar viel viel seltener als das bei Linux/Gnu Userland der Fall ist.
Als Fix-Workaround kann man ja die mountpoints mit noexec remounten. Was aber bei Hardend System sowieso der fall sein sollte.
Ich glaube das würde nicht sehr viel bringen, weil du ja den Exploit auch so ausführen kannst:
cat boese.sh |sh
*shrug*
 
Ich glaube das würde nicht sehr viel bringen, weil du ja den Exploit auch so ausführen kannst:
cat boese.sh |sh
*shrug*
Nein, das würde nicht funktionieren. Wenn Du Dir das Skript anschaust, dann siehst Du, dass es nur zwei kleine C-Programme anlegt, diese kompiliert und dann aufruft, und zwar mit
Code:
./env
Aus der Shell raus ein Binary ausführen, wenn man nur auf Partitionen schreiben kann, die noexec gemountet sind, wird extrem schwierig und ist in meinen Augen ein recht wirksamer Schutz gegen solcherlei Exploits.
 
Ja, das ist schon ein dummer Fehler. Und noch dümmer, dass man ihn natürlich öffentlich machen musste, bevor ein Patch da war. Aber was soll's. Passiert halt. Wirklich dumm ist das natürlich vor allem für die Anbieter von Shell-Zugängen... Aber wenigstens hat man schnell reagiert und schon einmal einen experimentellen Patch bereit gestellt. Wer wirklich Angst hat betroffen zu sein, kann den ja einspielen.
 
Ich finds korrekt, das Heise berichtet hat.
Der 0-Day exploit ist öffentlich. Und zwar da öffentlich, wo sich auch böse Buben gern informieren. Also sollte man als Admin davon wissen und ggfls. den Heisse-Nadelfix einspielen.

Der Bug ist wirklich fies. So unglaublich simpel...
 
Es richtete sich auch nicht gegen Heise, was ich schrieb. Auch wenn ich nach wie vor auf Heise nicht gut zu sprechen bin. Stattdessen gegen den Spacken, der es auf full-disclosure@ schreiben musste :)
 
Nein, das würde nicht funktionieren. Wenn Du Dir das Skript anschaust, dann siehst Du, dass es nur zwei kleine C-Programme anlegt, diese kompiliert und dann aufruft, und zwar mit
Stimmt, ich hatte mir den Exploit nicht angeguckt und gedacht es würde sich um ein Shell Script handeln. Aber natürlich muss er eine Binärdatei ausführen und eine dynamische Bibliothek bauen, damit das funktioniert. Das ganze trotzdem zum laufen zu bringen erfordert dann doch mehr Gehirnschmalz als ich zuerst dachte. Allerdings erschreckt das grundlegene Probleme schon fast in seiner Einfachheit und vllt ist es gerade deshalb nicht aufgefallen.

Der Patch, ist in dem Fall wirklich eher nur ein kurzfristiger Fix für dieses spezifische Problem, um es schnell zu schließen. Vollkommen vertrauen sollte man ihm nicht, nicht bevor das Problem vom Security Team analysiert worden ist, die ja morgen herum dazu etwas offizielles vorstellen wollen.
 
Kindgerecht aufbereitet

Damit die Scriptkiddies sich nicht beschweren *BSD sei schwerer zu benutzen mit Makefile für Idioten :eek:.
 

Anhänge

  • exploit.zip
    1,1 KB · Aufrufe: 229
Was mich ärgert, ist dass Heise die Schwachstelle mit nem großen Artikel ausführlicher behandelt, als die neue FreeBSD Major-Version...
 
Es richtete sich auch nicht gegen Heise, was ich schrieb. Auch wenn ich nach wie vor auf Heise nicht gut zu sprechen bin. Stattdessen gegen den Spacken, der es auf full-disclosure@ schreiben musste :)

Ah, alles klar.
Witzig ist ja immer, welche Clientel solche Sachen finden. Die wirklich guten Leute finden meistens total abgehobene esoterische Lücken, wo man erst mal drei Mal mit dem Kopf auf die Tischplatte schlagen muss, damit man sie versteht ;-)
 
Das in der oben genannten Mail befindliche Exploit funktioniert definitv auch unter Freebsd 7.2-RELEASE, hab es soeben ausprobiert...

Ich finds auch jeden Fall auch schon ne sehr peinliche Lücke und wie schon vor mir geschrieben, hat sie wahrscheinlich niemand gefunden, der viel Zeit damit verbingt sowas zu suchen :-/

Gruß
 
Zuletzt bearbeitet:
Was mich ärgert, ist dass Heise die Schwachstelle mit nem großen Artikel ausführlicher behandelt, als die neue FreeBSD Major-Version...

Einfach mal alles von dem dab-Fred bei heise lesen (der macht da die billigen Security-Announcements).

(Der Bug in FreeBSD ist allerdings schon reichlich peinlich)
 
Wenn ich den Code aus dem Kontext gerissen richtig verstehe führt der Linker in rtld.c unsetenv() aus ohne den Rückgabewert zu prüfen und unsetenv schlägt fehl, weil environ[0] nicht das Format KEY=VALUE hat. Somit ein peinlicher Fehler den man aus `man unsetenv` nur mit viel gutem Willen der Doku der Funktion unsetenv() entnehmen kann. Die Rückgabewerte in so einem kritischen Teil des Systems nicht zu prüfen ist jedoch äußerst leichtsinnig.
 
Zurück
Oben