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

nfc: port100: reject frames whose declared length exceeds the received data

port100_recv_response() passes the URB transfer buffer to
port100_rx_frame_is_valid(), which checksums le16_to_cpu(frame->datalen)
bytes of frame->data. datalen is a 16-bit field supplied by the device
and is never checked against the number of bytes actually received
(urb->actual_length), so a device reporting a datalen larger than the
received frame makes port100_data_checksum() read out of bounds past the
transfer buffer.

Reject a response whose declared frame size does not fit the received
length before validating it.

Found by 0sec (https://0sec.ai) using automated source analysis; the
missing bound is evident from source. Compile-tested.
Published: 2026-10-18
Score: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure / Denial of Service
Action: Assess Impact
AI Analysis

Impact

In the Linux kernel NFC port100 driver, a frame received event passes the raw USB Request Block (URB) buffer to a checksum routine without first verifying that the frame’s declared length field is no larger than the actual transfer length. The 16‑bit datalen value is supplied by the device and is not checked against urb->actual_length, allowing a device that reports a datalen larger than the received data to cause the checksum routine to read beyond the end of the buffer. This out‑of‑bounds read could expose kernel memory contents to a local user or lead to a kernel fault or crash. This is a classic out‑of‑bounds read vulnerability (CWE‑125).

Affected Systems

All Linux kernel systems that enable the NFC port100 interface, which includes any NFC controller connected via USB that uses the port100 driver. Users running any version of the Linux kernel with this driver enabled are potentially affected.

Risk and Exploitability

With a CVSS score of 6.2, this vulnerability is considered medium severity. Its EPSS score of less than 1% indicates a very low but nonzero probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. Based on the description, the primary risk is that an NFC device could deliver a frame whose datalen field is larger than the actual payload, causing the checksum routine to read beyond the end of the buffer. This out‑of‑bounds read could expose sensitive kernel memory to a local attacker or trigger a kernel crash, potentially leading to denial of service or subsequent privilege escalation. The attack requires a malicious device connected to the port100 interface, so the impact is limited to systems with that driver enabled and a local device.

Generated by OpenCVE AI on October 22, 2026 at 22:38 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the patched Linux kernel when it becomes available in the vendor’s distribution channels
  • Update the NFC controller firmware or device driver to ensure it does not report frame lengths larger than the data actually transmitted
  • If a patch is not yet available, consider disabling the port100 NFC interface or adding a local kernel module that validates datalen against urb->actual_length before checksum calculation

Generated by OpenCVE AI on October 22, 2026 at 22:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
History

Wed, 21 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Mon, 19 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nfc: port100: reject frames whose declared length exceeds the received data port100_recv_response() passes the URB transfer buffer to port100_rx_frame_is_valid(), which checksums le16_to_cpu(frame->datalen) bytes of frame->data. datalen is a 16-bit field supplied by the device and is never checked against the number of bytes actually received (urb->actual_length), so a device reporting a datalen larger than the received frame makes port100_data_checksum() read out of bounds past the transfer buffer. Reject a response whose declared frame size does not fit the received length before validating it. Found by 0sec (https://0sec.ai) using automated source analysis; the missing bound is evident from source. Compile-tested.
Title nfc: port100: reject frames whose declared length exceeds the received data
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:20:18.735Z

Reserved: 2026-09-25T10:25:14.352Z

Link: CVE-2026-98481

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:16:58.697

Modified: 2026-10-19T10:18:59.333

Link: CVE-2026-98481

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98481 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T22:45:13Z

Weaknesses