Ein Rails-Commit demonstriert unsichere Massenzuweisung
Zusammenfassung
Egor Homakov nutzt eine Rails-Mass-Assignment-Lücke, um fremden Code in das öffentliche Rails-Repository einzubringen.
Ideen
- Mass Assignment überträgt ungefilterte Parameter direkt auf Modellattribute.
- Unzureichend geschützte Schlüssel ermöglichen Änderungen an Besitzverhältnissen.
- Ein Plattformfehler kann Berechtigungen zahlreicher Projekte gefährden.
- Ein sichtbarer Demonstrationscommit erzwang schnelle Aufmerksamkeit.
Einsichten
- Frameworkkomfort kann Sicherheitsentscheidungen unsichtbar machen.
- Verantwortungsvolle Offenlegung braucht erreichbare und ernst genommene Meldewege.
- Autorisierung muss jede Zustandsänderung unabhängig von Eingabevalidierung prüfen.
Fakten
- Der Commit erschien am 4. März 2012.
- Die Schwachstelle betraf GitHubs Rails-Anwendung.
- GitHub sperrte Homakov zunächst.
Empfehlungen
- Erlaube nur ausdrücklich benannte veränderbare Attribute.
- Teste Autorisierung mit manipulierten Besitz- und Rollenfeldern.
Referenzen
Der Link zur Originalquelle öffnet einen neuen Tab.