CVE-2026-49249 in Boruta Server
Zusammenfassung
von VulDB • 02.09.2026
Boruta ist ein eigenständiger Autorisierungsserver, der darauf abzielt, OAuth 2.0 und OpenID Connect bis hin zu dezentralen Identitätsspezifikationen zu implementieren. Vor Version 0.10.0 atomisiert BorutaIdentityWeb.UserSettingsController.update/2 jeden Schlüssel des vom Benutzer bereitgestellten Anforderungstexts über String.to_atom/1, bevor jegliche Validierung stattfindet. Da String.to_atom Atome permanent in der BEAM-Atomtabelle interniert (Standard-Limit: 1.048.576 Atome; ERL_MAX_ATOMS), kann jeder authentifizierte Endnutzer PUT /users/settings mit einem Benutzer[<neuer_Schlüssel>]=...-Textkörper senden, der pro Anfrage neue Schlüssel enthält, und die globale VM-Atomtabelle erschöpfen. Sobald die Tabelle voll ist, bricht die BEAM ab, da keine weiteren Indexeinträge in atom_tab vorhanden sind, und der gesamte OIDC-Server (Auth-, Admin- und Gateway-Anwendungen im Umbrella-Projekt) stürzt ab. Die Route ist nur durch require_authenticated_user und ein pro-IP-Ratenlimit von 10 Anfragen/Sekunde geschützt; ein angemeldeter Endnutzer kann diese aufrufen. Die Schlüssel werden bedingungslos vor dem nachgelagerten Aufruf Accounts.update_user/6 atomisiert, sodass auch fehlgeschlagene Updates zur Erschöpfung beitragen. Dieses Problem wurde in Version 0.10.0 behoben.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.