CVE-2026-31660 Details
Description
In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: allocate rx skb before consuming bytes pn532_receive_buf() reports the number of accepted bytes to the serdev core. The current code consumes bytes into recv_skb and may already hand a complete frame to pn533_recv_frame() before allocating a fresh receive buffer. If that alloc_skb() fails, the callback returns 0 even though it has already consumed bytes, and it leaves recv_skb as NULL for the next receive callback. That breaks the receive_buf() accounting contract and can also lead to a NULL dereference on the next skb_put_u8(). Allocate the receive skb lazily before consuming the next byte instead. If allocation fails, return the number of bytes already accepted.
A vulnerability exists in the Linux kernel's NFC PN533 driver, specifically in the way it handles incoming data. The issue arises because the driver consumes data bytes into a receive buffer (recv_skb) and may pass a complete frame to the processing function (pn533_recv_frame) before allocating a new buffer. If the buffer allocation fails, the driver incorrectly reports the number of bytes received while leaving the receive buffer empty for the next callback, potentially causing a null pointer dereference. This vulnerability affects the Linux kernel stable group.
The vulnerability has been addressed by modifying the driver to allocate the receive buffer before consuming data bytes. This change ensures that the buffer is available for the next receive callback, maintaining the correct accounting and preventing null dereferences.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/07cb6c72e66ba548679f22ac29ad588da8999279 | kernel.org | Patch |
| https://git.kernel.org/stable/c/16649adc2e19509104245ea1f349b629d858f11f | kernel.org | Patch |
| https://git.kernel.org/stable/c/21ae2cda66a55c759607bbf1d23cbaa42019d2de | kernel.org | Patch |
| https://git.kernel.org/stable/c/2ca64fb7e2d2ae14619dd204d4f2f0a601f421fb | kernel.org | Patch |
| https://git.kernel.org/stable/c/7e37da42eda45d7859d9273fc7e225d8df458038 | kernel.org | Patch |
| https://git.kernel.org/stable/c/8b71299d587d9e4c830c18afb884c80ddb30ad28 | kernel.org | Patch |
| https://git.kernel.org/stable/c/a9495069b43b8634c1ae0042e888766c34f66637 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c71ba669b570c7b3f86ec875be222ea11dacb352 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| NVD-CWE-Other | Weakness Not in a Standard CWE Category | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 5.5.1, < 5.10.253 >= 5.11, < 5.15.203 >= 5.16, < 6.1.169 >= 6.2, < 6.6.135 >= 6.7, < 6.12.82 >= 6.13, < 6.18.23 >= 6.19, < 6.19.13 5.5 - 7.0 rc1 7.0 rc2 7.0 rc3 7.0 rc4 7.0 rc5 7.0 rc6 7.0 rc7 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Apr 27, 2026 | Initial Analysis | [email protected] |
| Apr 24, 2026 | New CVE Received | kernel.org |