bk99.de entertain the web since 1997

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

Originalartikel lesen →