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. Die Schwachstelle betraf GitHubs Rails-Anwendung.
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
- GitHub sperrte Homakov zunächst.
Empfehlungen
- Erlaube nur ausdrücklich benannte veränderbare Attribute.
- Teste Autorisierung mit manipulierten Besitz- und Rollenfeldern.
Referenzen
Links zur Originalquelle und zum Webarchiv öffnen einen neuen Tab.