CVE-2026-27614 in Bugsink
Riassunto
di VulDB • 16/06/2026
Bugsink è uno strumento di tracciamento degli errori self-hosted. Nelle versioni precedenti alla 2.0.13, un attaccante non autenticato in grado di inviare eventi a un progetto Bugsink può memorizzare JavaScript arbitrario all'interno di un evento. Il payload viene eseguito solo se un utente visualizza esplicitamente lo Stacktrace interessato nell'interfaccia web (UI). Quando Pygments restituisce più righe rispetto a quelle fornite (un noto comportamento anomalo upstream che si attiva con input in stile heredoc Ruby), la funzione `_pygmentize_lines()` nel file `theme/templatetags/issues.py:75-77` effettua un fallback restituendo le righe di input grezze. La funzione `mark_safe()`, alle linee 111-113, viene quindi applicata in modo incondizionato, incluse quelle righe grezze non sanificate. Poiché gli endpoint DSN sono pubblici secondo il protocollo Sentry, non è necessario alcun account per l'iniezione. Il payload rimane nel database finché un amministratore non esamina l'evento. L'esecuzione con successo dello sfruttamento richiede che l'attaccante sia in grado di inviare eventi al progetto (ovvero conosca la DSN o abbia accesso a un client che la utilizza), che l'endpoint di ingestione di Bugsink sia raggiungibile dall'attaccante e che un amministratore visualizzi esplicitamente l'evento manipolato nell'interfaccia. In queste condizioni, l'attaccante può eseguire JavaScript nel browser dell'amministratore ed agire con i privilegi di tale utente all'interno di Bugsink. La versione 2.0.13 risolve la vulnerabilità.
If you want to get best quality of vulnerability data, you may have to visit VulDB.