flawopen.com/Incidentes/Baron Samedit

Baron Samedit: dez anos de acesso root ocultos em uma barra invertida

High — Local privilege escalation CWE-787: Out-of-bounds Write Disclosed 26 January 2021
ELI5 (Explicado de Forma Simples)

Um funcionário que confere fichas segue a regra: uma barra invertida significa 'trate a próxima letra como um texto comum'. Alguém entrega uma ficha que termina exatamente em uma barra invertida. O funcionário procura a próxima letra, mas a folha acabou. Em vez de parar, ele continua lendo a folha de baixo da pilha e sobrescrevendo as permissões de segurança.

That second point is the durable engineering lesson. The unescaping function was correct given its assumed precondition. The vulnerability lived in the gap between a documented assumption and an unusual call path that violated it. Preconditions enforced by convention rather than by code fail silently, and they fail years later, when whoever knew the convention has moved on.

Why a local bug matters as much as a remote one

Privilege escalation flaws are sometimes discounted because they require existing access. That reasoning misreads how intrusions work. Attackers routinely obtain low-privilege access first — a compromised web application process, a stolen SSH key for an unprivileged account, a container breakout, a malicious dependency running in CI. A reliable local root exploit converts that foothold into total control of the host.

In shared environments the effect compounds: on a multi-user build server or a shell host, this bug meant every user was effectively root.

The lessons that actually transfer

FAQ

Did I need to be in the sudoers file?

No. That is what made this unusually severe — the overflow occurred during argument processing, before any authorisation decision. Users with no sudo rights whatsoever could exploit it.

Would a memory-safe language have prevented it?

This specific failure mode, yes — a bounds-checked language would panic or throw rather than write out of bounds, turning a root exploit into a crash. The logic error of mishandling a trailing escape could still exist; its consequences would be far less severe.

Related reading

Fontes e comunicados oficiais