CUPS Drama über Ausnutzbarkeit eines RCE-Angriffs

Ein sehr ungünstiges Beispiel wie man nicht reagieren sollte

Ich liebe ein gutes Drama und CUPS liefert da gerade.

Simone Margaritelli (aka evilsocket) hat einen besonders schönen RCE Exploit für CUPS gefunden, den er hier im Detail erklärt.

Wunderbar erklärt und der Text eignet sich auch hervorragend für einen Einstieg in die Materie, da der Angriff selbst keine Raketenwissenschaft ist, in der man um 3 Ecken denken muss. Es ist alles ziemlich geradlinig.

Da ich nicht persönlich in der Kommunikation involviert war gibt es hier ein paar "he said/she said" Argumente, die nicht so ganz klar sind. Klar ist aber, dass Simone hier einen relevanten Exploit gefunden hat der bei CUPS nicht so ganz hoch aufgehängt wurde und es wohl auch etwas Fehlkommunikation gab.

Hier schreibt Till Kamppeter von OpenPrinting was dazu und hier Akamai.

Das Argument, dass es wohl kaum Druckserver gibt, die direkt am Internet klemmen sollte richtig sein. Das dachte sich auch MongoDB. Welcher Vollidiot klemmt schon eine MongoDB Datenbank offen ins Internet? Gute Frage. Die Antwort war Einige Telkos und Versicherungen ...

Man muss mit der Blödheit der Leute rechnen. Und CUPS ist keineswegs nur ein Dienst für Profis.

Das Risiko im professionellen Bereich ist auch etwas höher als vermutet, denn wenn man das mit einem anderen Problem koppelt, dann kann man es wieder ausnutzen. Man braucht ja keine besonderen Rechte sondern nur etwas, das Zugang hat. 

Das Argument, dass hier ja auch noch Berechtigungen (lp user) im Weg stehen würden könnte reichlich kurz greifen, denn ich könnten mit im Kontext dieser Exploitkette einen Angriff vorstellen, wo das nicht relevant ist.

Das Potential - und die Häufigkeit - von Angriffen, die aus dem eigenen Netz kommen, wird häufig unterschätzt. Das Argument funktioniert sehr viel besser wenn man 20 Angestellte hat und nicht 2.000.

Es ist ein schwerwiegendes Problem, dass durch ein paar glückliche Umstände nur eingeschränkt nutzbar ist. Aber es ist ein Problem, das ernst genommen werden muss.

Im Kontext der Exploitkette ist dann noch ein anderes Problem aufgetaucht. Nämlich die Frage wie lange ich uralte Legacy Systeme unterstützen sollte, die bekannte - und recht extreme - Probleme haben, die grundsätzlich nicht lösbar sind. Hier ist es zwingend, dass man das Risiko durch Abwesenheit der Komponente minimiert. Nur wer das zwingend benötigt sollte es auch auf dem System haben.

Ein häufiges Problem mit der Risikobewertung ist, dass man sich was nicht vorstellen kann. Hätte man sich das vorstellen können, hätte man häufig das Problem nicht. Meine Fähigkeit mir etwas vorzustellen oder nicht spielt keine Rolle. Die Frage ist, ob ich es ausschließen kann.

Die Sicherheit sollte nicht davon abhängen, dass sich jemand etwas nicht vorstellen oder umsetzen kann. Diese Sichtweise wird früher oder Später dazu führen, dass sich das Problem im Arsch festbeißt.