Thread flock funktioniert nicht
(64 answers)
Opened by x-man at 2006-04-17 19:11
Tag zusammen,
dass open gefolgt von einem flock unsicherer im Gegensatz zu sysopen ist, habe ich ebenfalls gelesen. Dieses Thema wird auch im Linux Magazin April 2006 http://www.linux-magazin.de/Artikel/ausgabe/2006/04 behandelt. Dort wurde das Problem auch Live vorgestellt am Programm ridentd.pl. Als erstes war es damit möglich beliebige Dateien als Benutzer mit root Rechten zu löschen. Das problem war erst das keine Überprüfung auf Symlinks und kein flock Benutzt wurde. Dies wurde dann nachgeholt mit einer vorherigen Überprüfung mit -l etc. und nach dem open Befehl mit einem flock. Trotzdem wird in dem Artikel gezeigt das die Lücke nicht ganz geschlossen ist, mit einem Shell Skript, und einer endlos schleife war man immer noch in er lage beliebige Dateien zu löschen. Die Begründung war die selbe wie master bereits sagte. Es wurde zuerst die Datei auf Symlink überprüft etc. Danach geht die Programmverarbeitung weiter, aber es gibt nunmal keine Garantie das irgendein Prozess genau zwischen den aufruf von open und flock die Datei bearbeitet, oder schon zwischen der Überprüfung auf symlink und open bearbeitet wurde, und auf einmal eine symlink Datei ist. Das Problem wurde dann letztendlich komplett umgangen mit sysopen, da man dort alle Angaben gleichzeitig ausführt, und sich zwischendurch kein anderer Prozess einmischen kann. Leider habe ich diese Ausgabe verliehen und kann dazu auch nichts mehr genaueres sagen als das es letztendlich zu einer Sicherheitslücke in ridentd geführt hat, weil open benutzt wurde. Die genaue Erklärung und die Ausnutzung steht im Linux Magazin April 2006. Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|