Android security tags, read closely by Lightrion

CVE-2026-55266 AI-generated analysis

platform/system/libufdt, sysdeps/libufdt_sysdeps_vendor.c (vendor sysdeps, qsort)

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.

Rewrites the partition handling of the copied BSD qsort in libufdt's vendor sysdeps so that it recurses on the smaller partition and iterates on the larger one, bounding recursion depth to O(log n) instead of O(n) on adversarial inputs.

Root cause

The qsort implementation copied into sysdeps/libufdt_sysdeps_vendor.c always recursed on the left partition (`if ((r = pb - pa) > (int)es) qsort(a, r / es, es, cmp);`) and iterated via `goto loop` only on the right partition. The side chosen for recursion did not depend on partition size. An input whose pivot selection repeatedly left a large left partition therefore drove recursion depth proportional to n, so a large or adversarially ordered input could exhaust the stack (DoS per bulletin).

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to October 2026 · Findings