Ansicht umschalten
Avatar von MetaCircularEvaluator
  • MetaCircularEvaluator

mehr als 1000 Beiträge seit 20.03.2015

"inconsistent authorization checks and validation across several microservices"

f-123 schrieb am 18.11.2021 11:47:

Berechtigungsprüfung nach Daten im Aufruf, danach Upload nach Daten im Paket

We determined that this vulnerability was due to inconsistent authorization checks and validation of data across several microservices that handle requests to the npm registry. In this architecture, the authorization service was properly validating user authorization to packages based on data passed in request URL paths. However, the service that performs underlying updates to the registry data determined which package to publish based on the contents of the uploaded package file. This discrepancy provided an avenue by which requests to publish new versions of a package would be authorized for one package but would actually be performed for a different, and potentially unauthorized, package.

https://github.blog/2021-11-15-githubs-commitment-to-npm-ecosystem-security/

OMG!

Was für ein offensichtlicher Fehler!

Aber Dank Microservices-Gestrüpp, wo niemand auch nur im Ansatz kapiert was überhaupt passiert, kommt so was bei raus.

Ist geil, wenn man seinen globalen State immer mitschicken muss, und Dinge unbemerkt in solch fatalen Weisen abkacken, wenn man irgendwas von diesem (oft impliziten) State Handling übersieht.

Bei sinnvoller Architektur hätte so was auch ein Compile-Time Error sein können, aber mindesten ein Laufzeitfehler sein müssen! (Capabilities, Anybody?).

Bewerten
- +
Ansicht umschalten