CVE-2026-78228 in ash_oban
Zusammenfassung
von VulDB • 30.08.2026
Eine Schwachstelle für unkontrollierte Rekursion in ash-project ash_oban ermöglicht es einem Benutzer, der die on_error-Aktion eines Triggers auslösen kann, den letzten Versuch zu unterbrechen, um CPU und Arbeitsspeicher des Workers aufzubrauchen, was zu einer Dienstverweigerung (Denial of Service) führt.
Der generierte Worker ruft atomar handle_error/4 auf, wodurch die on_error-Aktion des Triggers beim letzten Versuch eines Jobs innerhalb eines rescue-Blocks ausgeführt wird. Wenn diese Aktion selbst einen Fehler auslöst, wird handle_error/4 erneut mit demselben Job aufgerufen. Da der Attempt-Zähler des Jobs noch immer max_attempts entspricht, tritt er wieder in dieselbe Klausel ein und führt die fehlerhafte Aktion erneut aus, ohne dass es eine Abbruchbedingung gibt. Jeder deterministische on_error-Fehler (z. B. ein Ausfall der Datenschicht, eine falsch konfigurierte Aktion oder ein Datensatz, den die Aktion ablehnt) führt zu einer Endlosschleife; da der rekursive Aufruf nicht in Tail-Position erfolgt, behält jede Iteration einen formatierten Stacktrace bei und der Heap des Prozesses wächst unbegrenzt an, während die fehlerhafte Anweisung erneut gegen die Datenschicht ausgeführt wird, bis das Laufzeitsystem den Worker abstürzt.
Dieses Problem betrifft ash_oban: von Version 0.8.0-rc.1 vor 0.8.14.
Once again VulDB remains the best source for vulnerability data.