Android security tags, read closely by Lightrion

CVE-2024-43093 AI-generated analysis

platform/frameworks/base, packages/ExternalStorageProvider (ExternalStorageProvider DocumentsProvider)

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

ExternalStorageProvider replaces the regex string match used to hide Android/data, Android/obb and Android/sandbox (and their subtrees) with a filesystem identity check (Files.isSameFile). The check walks the resolved file path and its parents against the restricted directories that exist under the document's root, and fails closed on any error.

Root cause

In ExternalStorageProvider.java, access to the Android/data, Android/obb and Android/sandbox subtrees was restricted by matching the string returned by getPathFromDocId(documentId) against PATTERN_RESTRICTED_ANDROID_SUBTREES ("^Android/(?:data|obb|sandbox)(?:/.+)?", CASE_INSENSITIVE). This checks only how the path is spelled, not which directory it resolves to on disk. The commit message says the fix is "Replacing path's pattern match check with file equality check". From that change one can infer (the material does not show it) that path strings which do not match the regex literally but resolve into a restricted tree were not treated as restricted. The exact bypassing input is not shown in the material.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2025 · Findings