Android security tags, read closely by Lightrion

CVE-2026-0040 AI-generated analysis

platform/external/dng_sdk, libdng_sdk (DNG image library, build configuration in Android.bp)

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 (8 corrections). Verify against the commit before relying on it.

Rebuilds libdng_sdk in platform/external/dng_sdk so that signed/unsigned integer overflow detected by UBSan throws a C++ std::runtime_error (through a new in-tree runtime, ubsan-replacement/ubsan_throwing_runtime.cpp) instead of using the ubsan-minimal runtime, which hard-aborts.

Root cause

libdng_sdk-defaults in Android.bp enables sanitize.misc_undefined = [unsigned-integer-overflow, signed-integer-overflow]. With that configuration the ubsan-minimal runtime is used, and the commit message says it does a hard abort on a detected overflow. Any detected integer overflow in the DNG SDK's arithmetic while processing a crafted DNG therefore ended the hosting process instead of producing a recoverable error. This was the case even though the library is already built with rtti: true and cppflags -fexceptions, and the commit message says C++ exceptions are enabled in this library. The commit lists seven bug IDs (470966846, 467994860, 467994310, 461790658, 456471487, 453649377, 449728942). The material does not show the individual arithmetic sites.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to June 2026 · Findings