Passwortschutz von Ruby on Rails lässt sich aushebeln

Schuld ist ein Fehler im Digest-Authentication-Code, der bei einem unbekannten Nutzer einen falschen RĂĽckgabewert zurĂĽckliefert. Ein Patch steht bereit.

vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Daniel Bachfeld

Die Ruby-on-Rails-Entwickler haben in ihrem Blog auf ein Sicherheitsproblem hingewiesen, durch das sich der Passwortschutz von Seiten respektive Inhalten umgehen lässt. Schuld ist ein Fehler im Digest-Authentication-Code, der bei einem unbekannten Nutzer den Rückgabewert nil (leere Liste) statt false zurückliefert.

Im Weiteren arbeitet RoR mit diesem Wert weiter, so dass sich laut Bericht durch Angabe eines ungültigen Nutzers und eines leeren Passworts eine erfolgreiche Authentifizierung durchführen lässt.

Die Entwickler fĂĽhren folgendes verwundbares Beispiel auf (das so aus der Dokumentation von RoR stammt):

authenticate_or_request_with_http_digest(REALM) do |username|
USERS[username]
end

Ein Patch fĂĽr Version 2.3 soll den Fehler beheben. In den kommenden Tagen soll dann Ruby on Rails in Version 2.3.3 erscheinen, die den Fehler nicht mehr enthalten soll.

Alternativ können Anwender die Lücke schließen, in dem sie dafür sorgen, dass ihr Code niemals nil zurückliefert. Dazu müsste man das obige Beispiel wie folgt ändern:

authenticate_or_request_with_http_digest(REALM) do |username|
USERS[username] || false
end

Siehe dazu auch:

(dab)