CVE-2024-46676

nfc: pn533: Add poll mod list filling check

published September 13, 2024

CVSS
—
EPSS
0%
Percentile
14.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00245 · 14.8th percentile
Published
2024-09-13T05:29Z
EPSS history
Timeline
  • 13 SEP 05:29Z
    nfc: pn533: Add poll mod list filling check
    cvelistv5