Android security tags, read closely by Lightrion

CVE-2026-28639 AI-generated analysis

platform/system/nfc (libnfc-nci), src/nfc/tags/rw_mfc.cc, MIFARE Classic (MFC) tag reader/writer; on Android 16/17 the same file is in platform/packages/modules/Nfc under libnfc-nci/

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

In rw_mfc_handle_read_op (MIFARE Classic NDEF read handling), the else branch that logs SafetyNet ID 178725766 for an NDEF length inflation attempt now also sets failed = true, so the read operation is marked as failed instead of continuing. Per the commit message, this prevents a heap out-of-bounds write.

Root cause

In rw_mfc_handle_read_op, the branch that detects an NDEF length inflation attempt only emitted android_errorWriteLog(0x534e4554, "178725766") and did not mark the operation as failed. The function then went on with its normal processing. Per the commit message, this allowed a heap out-of-bounds write. In the READ_NDEF path shown in the excerpt, data is copied into p_mfc->p_ndef_buffer up to p_mfc->ndef_length, and when that length has not been reached the next block is read. The exact condition of the patched branch and the buffer sizing are not visible in the material.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings