Android security tags, read closely by Lightrion

CVE-2026-58839 AI-generated analysis

platform/system/incremental_delivery, incfs library (MountRegistry mountinfo parsing)

AI-generated: written from the bulletin and the fixing diffs by claude-fable-5-1, then checked against the code by claude-opus-5-5 (5 corrections). Verify against the commit before relying on it.

Shrinks the stack-allocated read buffer in the static forEachLine() helper of incfs/MountRegistry.cpp from 128 KiB to 32 KiB, adds a compile-time maxLineLength template parameter with a static_assert against the buffer size, and marks the buffer __attribute__((uninitialized)).

Root cause

forEachLine() in incfs/MountRegistry.cpp declared `char buffer[128 * 1024]` on the stack to pread() the mountinfo file. It is invoked from MountRegistry::Mounts::loadFrom(), which runs from MountRegistry::ensureUpToDate() (called by copyMounts() and reload()) whenever poll() on the mountinfo fd does not return 0, meaning it reports an event or fails. If the calling thread's stack is already close to its limit, a 128 KiB frame can overrun the stack, as stated in the commit message ("may cause stack overflow if we're already nearing the limit").

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings