CVE-2026-80823

Source
https://cve.org/CVERecord?id=CVE-2026-80823
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80823.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-80823
Downstream
Published
2026-09-04T15:27:46.153Z
Modified
2026-09-06T03:46:51.894931761Z
Summary
nfc: st21nfca: validate ATR_REQ length against the received frame
Details

In the Linux kernel, the following vulnerability has been resolved:

nfc: st21nfca: validate ATR_REQ length against the received frame

st21nfcatmrecvatrreq() checks that the received ATRREQ frame is at least ST21NFCAATRREQMINSIZE and that the self-declared atrreq->length is at least sizeof(struct st21nfcaatrreq), but never checks that atr_req->length does not exceed the actual received length (skb->len).

st21nfcatmsendatrres() then trusts the declared length:

gb_len = atr_req->length - sizeof(struct st21nfca_atr_req);
...
memcpy(atr_res->gbi, atr_req->gbi, gb_len);

so an RF peer that sends a short frame but sets atrreq->length larger than the frame makes gblen exceed the general bytes actually present, and the memcpy reads out of bounds past the received skb. Those bytes are placed in the ATR_RES and sent back to the peer (kernel-memory disclosure to a proximity attacker); a larger declared length is an out-of-bounds read (DoS).

Reject frames whose declared length exceeds the received length. The adjacent nfctmactivated() path in the same function already derives its general-bytes length from skb->len rather than the declared field.

Found by 0sec (https://0sec.ai) using automated source analysis; the missing bound is evident from source. Compile-tested.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80823.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1892bf844ea0261736bd5e75546fc996e9daeedf
Fixed
785df00bb3ae3206674a43284eb06dac575b5c64
Fixed
2c1ad291f4cdc357f9527b688c6fda9c6ffa7890
Fixed
dd26d30f40c43ad9cfe2f25c6ea0ead1dd51d5aa
Fixed
9635507fe82949e429b3cd938876a9917125b151
Fixed
0f344944c506b4f02d2b098489f7268b438c369e
Fixed
bfcca5f42c9aa4eadef1e5fe7bb23783d7fcc96d
Fixed
304f5b414f4051d324b8c4a3ab0e79f7dc7e150e
Fixed
f33cecf69095c43be88567fef92b180b858f7369
Fixed
5cdcca5d62a66eda6b774110a44cba67bc1a8d1d

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80823.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.17.0
Fixed
5.10.267
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.218
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.185
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.154
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.106
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.47
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.11
Type
ECOSYSTEM
Events
Introduced
7.2.0
Fixed
7.2.1

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80823.json"