nfc: pn533: Add poll mod list filling check
In case of im_protocols value is 1 and tm_protocols value is 0 this
combination successfully passes the check
'if (!im_protocols && !tm_protocols)' in the nfc_start_poll().
But then after pn533_poll_create_mod_list() call in pn533_start_poll()
poll mod list will remain empty and dev->poll_mod_count will remain 0
which lead to division by zero.
Normally no im protocol has value 1 in the mask, so this combination is
not expected by driver. But these protocol values actually come from
userspace via Netlink interface (NFC_CMD_START_POLL operation). So a
broken or malicious program may pass a message containing a "bad"
combination of protocol parameter values so that dev->poll_mod_count
is not incremented inside pn533_poll_create_mod_list(), thus leading
to division by zero.
Call trace looks like:
nfc_genl_start_poll()
nfc_start_poll()
->start_poll()
pn533_start_poll()
Add poll mod list filling check.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Analysis and contextual insights are available on OpenCVE Cloud.
No vendor fix or workaround currently provided.
Additional remediation guidance may be available on OpenCVE Cloud.
Tracking
Sign in to view the affected projects.
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-3912-1 | linux security update |
Debian DLA |
DLA-4008-1 | linux-6.1 security update |
Debian DSA |
DSA-5782-1 | linux security update |
Ubuntu USN |
USN-7088-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-4 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-5 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7100-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7100-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7119-1 | Linux kernel (IoT) vulnerabilities |
Ubuntu USN |
USN-7123-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7144-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-7154-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7155-1 | Linux kernel (NVIDIA) vulnerabilities |
Ubuntu USN |
USN-7156-1 | Linux kernel (GKE) vulnerabilities |
Ubuntu USN |
USN-7154-2 | Linux kernel (HWE) vulnerabilities |
Ubuntu USN |
USN-7194-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7196-1 | Linux kernel (Azure) vulnerabilities |
Mon, 03 Nov 2025 23:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Wed, 16 Jul 2025 13:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
epss
|
epss
|
Wed, 23 Oct 2024 15:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
threat_severity
|
threat_severity
|
Sun, 29 Sep 2024 16:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Mon, 23 Sep 2024 15:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linux
Linux linux Kernel |
|
| Weaknesses | CWE-369 | |
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* |
|
| Vendors & Products |
Linux
Linux linux Kernel |
Fri, 13 Sep 2024 23:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
Fri, 13 Sep 2024 05:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: Add poll mod list filling check In case of im_protocols value is 1 and tm_protocols value is 0 this combination successfully passes the check 'if (!im_protocols && !tm_protocols)' in the nfc_start_poll(). But then after pn533_poll_create_mod_list() call in pn533_start_poll() poll mod list will remain empty and dev->poll_mod_count will remain 0 which lead to division by zero. Normally no im protocol has value 1 in the mask, so this combination is not expected by driver. But these protocol values actually come from userspace via Netlink interface (NFC_CMD_START_POLL operation). So a broken or malicious program may pass a message containing a "bad" combination of protocol parameter values so that dev->poll_mod_count is not incremented inside pn533_poll_create_mod_list(), thus leading to division by zero. Call trace looks like: nfc_genl_start_poll() nfc_start_poll() ->start_poll() pn533_start_poll() Add poll mod list filling check. Found by Linux Verification Center (linuxtesting.org) with SVACE. | |
| Title | nfc: pn533: Add poll mod list filling check | |
| References |
|
|
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2026-05-11T20:34:14.809Z
Reserved: 2024-09-11T15:12:18.247Z
Link: CVE-2024-46676
Updated: 2025-11-03T22:16:14.033Z
Status : Modified
Published: 2024-09-13T06:15:12.223
Modified: 2025-11-03T23:15:52.960
Link: CVE-2024-46676
OpenCVE Enrichment
No data.
Debian DLA
Debian DSA
Ubuntu USN