CVE-2022-48857: NFC: port100: fix use-after-free in port100_send_complete
In the Linux kernel, the following vulnerability has been resolved:
NFC: port100: fix use-after-free in port100_send_complete
Syzbot reported UAF in port100_send_complete(). The root case is in
missing usb_kill_urb() calls on error handling path of ->probe function.
port100_send_complete() accesses devm allocated memory which will be
freed on probe failure. We should kill this urbs before returning an
error from probe function to prevent reported use-after-free
Fail log:
BUG: KASAN: use-after-free in port100_send_complete+0x16e/0x1a0 drivers/nfc/port100.c:935
Read of size 1 at addr ffff88801bb59540 by task ksoftirqd/2/26
...
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
print_address_description.constprop.0.cold+0x8d/0x303 mm/kasan/report.c:255
__kasan_report mm/kasan/report.c:442 [inline]
kasan_report.cold+0x83/0xdf mm/kasan/report.c:459
port100_send_complete+0x16e/0x1a0 drivers/nfc/port100.c:935
__usb_hcd_giveback_urb+0x2b0/0x5c0 drivers/usb/core/hcd.c:1670
...
Allocated by task 1255:
kasan_save_stack+0x1e/0x40 mm/kasan/common.c:38
kasan_set_track mm/kasan/common.c:45 [inline]
set_alloc_info mm/kasan/common.c:436 [inline]
____kasan_kmalloc mm/kasan/common.c:515 [inline]
____kasan_kmalloc mm/kasan/common.c:474 [inline]
__kasan_kmalloc+0xa6/0xd0 mm/kasan/common.c:524
alloc_dr drivers/base/devres.c:116 [inline]
devm_kmalloc+0x96/0x1d0 drivers/base/devres.c:823
devm_kzalloc include/linux/device.h:209 [inline]
port100_probe+0x8a/0x1320 drivers/nfc/port100.c:1502
Freed by task 1255:
kasan_save_stack+0x1e/0x40 mm/kasan/common.c:38
kasan_set_track+0x21/0x30 mm/kasan/common.c:45
kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:370
____kasan_slab_free mm/kasan/common.c:366 [inline]
____kasan_slab_free+0xff/0x140 mm/kasan/common.c:328
kasan_slab_free include/linux/kasan.h:236 [inline]
__cache_free mm/slab.c:3437 [inline]
kfree+0xf8/0x2b0 mm/slab.c:3794
release_nodes+0x112/0x1a0 drivers/base/devres.c:501
devres_release_all+0x114/0x190 drivers/base/devres.c:530
really_probe+0x626/0xcc0 drivers/base/dd.c:670
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel memory-safety bug in the NFC port100 USB driver. A failed device probe can leave USB work running after driver-managed memory is freed, causing a use-after-free. The provided evidence points to a kernel bug found by syzbot, not confirmed real-world exploitation.
Executive priority
Treat as a targeted kernel maintenance item, not an emergency internet-wide exposure. Patch affected Linux systems through normal kernel update channels, with faster handling for devices allowing physical USB/NFC interaction.
Technical view
In port100_probe error handling, missing usb_kill_urb() allowed port100_send_complete() to run after devm-allocated memory was released. KASAN reported the use-after-free in drivers/nfc/port100.c. Upstream stable commits are listed as fixes across supported Linux kernel branches.
Likely exposure
Exposure is most likely on Linux systems with the NFC port100 USB driver present and reachable through matching NFC/USB hardware. Broad internet-facing exposure is not indicated by the source bundle.
Exploitation context
The CVE is not listed as KEV in the provided data. The source describes syzbot/KASAN discovery and kernel stable fixes. No cited source confirms active exploitation, public weaponization, or a complete impact assessment.
Researcher notes
The evidence is limited to the CVE record, syzbot failure details, affected kernel version metadata, and upstream stable commit URLs. No CVSS, CWE, exploit confirmation, or vendor-specific package names are provided.
Mitigation direction
Apply Linux distribution kernel updates that include the referenced stable fixes.
Prioritize endpoints, kiosks, and embedded systems with NFC or untrusted USB access.
Check vendor advisories for temporary mitigations; none are specified in the source bundle.
If NFC/port100 is unused, assess disabling it under approved vendor guidance.
Validation and detection
Inventory running Linux kernel versions and compare against vendor-fixed packages.
Check whether the port100 NFC driver is built, loaded, or required.
Identify assets where users can attach USB/NFC devices physically.
Confirm patch status through distribution changelogs or the listed stable commits.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-48857 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.