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.
- 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)