Android security tags, read closely by Lightrion

CVE-2026-55277 AI-generated analysis

platform/packages/modules/Nfc, NfcNci JNI layer (NfcNci/nci/jni/RoutingManager.cpp, RoutingManager)

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.

Adds a bounds check in RoutingManager::checkUiccListenConfigNeeded so a new UICC listen configuration is only appended to mNfceeListenConfig.config when nb_config is below NFA_EE_MAX_EE_SUPPORTED, otherwise it logs an error and returns false.

Root cause

In NfcNci/nci/jni/RoutingManager.cpp, RoutingManager::checkUiccListenConfigNeeded searches mNfceeListenConfig.config[] for an entry whose nfcee_id matches eeHandle. When no entry is found, it writes nfcee_id and tech_mask into mNfceeListenConfig.config[mNfceeListenConfig.nb_config] and increments nb_config without checking nb_config against NFA_EE_MAX_EE_SUPPORTED, the maximum number of supported execution environments. Per the commit message, exceeding that maximum allowed an out-of-bounds write, potentially corrupting adjacent synchronization primitives and causing crashes or deadlocks in the NFC system service.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings