CVE-2026-80798 in Linuxinformation

Résumé

par VulDB • 04/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

nfc: llcp : rejeter les PDUs plus courts que l'en-tête LLCP

Chaque PDU LLCP commence par un en-tête de deux octets (DSAP/SSAP + PTYPE), mais le chemin de réception ne vérifiait jamais qu'une trame faisait au moins LLCP_HEADER_SIZE octets avant son analyse.

nfc_llcp_rx_skb() lit l'en-tête via nfc_llcp_ptype()/nfc_llcp_dsap()/ nfc_llcp_ssap(), qui déréférencent pdu->data[0] et pdu->data[1], et un PDU CONNECT ou CC calcule ensuite

tlv_array_len = skb->len - LLCP_HEADER_SIZE;

comme une size_t et la transmet à l'itération TLV. Lorsque la trame est plus courte que l'en-tête, la soustraction effectue un débordement (wrap-around) vers une valeur énorme et l'itération s'exécute bien au-delà du tampon, provoquant une lecture hors limites (out-of-bounds read).

Un dispositif NFC voisin peut exploiter cela sans authentification ; l'activation de la liaison LLCP se produit automatiquement après NFC-DEP.

Protégez le point d'étranglement commun de réception __nfc_llcp_recv(), partagé par les chemins cible (nfc_llcp_data_received()) et initiateur (nfc_llcp_recv()), afin qu'un skb court soit rejeté avant que l'worker rx_work ne l'analyse. Utilisez pskb_may_pull() plutôt qu'un test sur skb->len pour garantir que les deux octets de l'en-tête se trouvent dans la zone linéaire du skb, même pour un skb non-linéaire, ce qui correspond à la manière dont les chemins de réception NCI et HCI frères valident leurs en-têtes.

Reproduit avec une lecture hors limites (out-of-bounds read) via KFENCE sur /dev/virtual_nci sous linux-next.

Découvert par l'outil automatisé de recherche de sécurité 0sec (https://0sec.ai).

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Linux

Réserver

26/08/2026

Divulgation

04/09/2026

Modérer

accepté

Entrée

VDB-398935

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!