CVE-2026-43200
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
May 6, 2026
CISA due date
—
Cloudanix analysis
A local user with enough system access could crash certain Linux systems by removing a PCI endpoint configuration link.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This is a local denial-of-service flaw in the Linux kernel PCI endpoint framework. The vulnerable code registers configfs unlink callbacks with the source and target parameters in the wrong order for primary and secondary endpoint-controller-to-endpoint-function unlink operations. When a privileged local user or process performs the affected unlink operation through configfs, the kernel can dereference an invalid pointer while logging or unbinding the PCI endpoint function, resulting in a kernel crash or panic. The impact is availability loss only; the published CVSS vector indicates local access, low attack complexity, required low privileges, no user interaction, and no confidentiality or integrity impact.
Why it matters to the business
Successful exploitation can abruptly crash affected Linux systems that expose and use the PCI endpoint configfs interface, causing service interruption, failed workloads, device downtime, or disruption to embedded, appliance, telecom, edge, or test systems that rely on PCI endpoint functionality. The current EPSS is very low and has not increased over 30 days, it is not in CISA KEV, and no public exploit maturity is reported, so broad opportunistic exploitation is unlikely; however, systems where untrusted or semi-trusted local users can access PCI endpoint configfs should treat this as a meaningful availability risk.
How an attack unfolds
An attacker first needs local access to an affected Linux system with sufficient privileges to manipulate configfs entries for the PCI endpoint subsystem. They identify an existing PCI endpoint controller/function link under configfs, then issue an unlink operation, commonly through a filesystem operation such as unlink or rm against the relevant configfs link. Because the vulnerable kernel passes the configfs callback arguments in the wrong order during unlink handling, the PCI endpoint unlink path operates on the wrong object and may access an invalid address. This can trigger an oops, panic, or fatal kernel fault, taking the host or device offline until it is rebooted or otherwise recovered.
How to fix it
Apply a Linux kernel update that includes the upstream fix for the PCI endpoint configfs unlink callback parameter ordering issue. Because no exact fixed package versions were provided, use the patched kernel versions published by the relevant Linux distribution, appliance vendor, board support package provider, or long-term stable kernel branch. Reboot into the updated kernel after installation. Where immediate patching is not possible, restrict local access to systems exposing PCI endpoint configfs, limit sudo or administrative workflows that can modify /sys/kernel/config, avoid granting untrusted users access to configfs management operations, and disable or avoid loading PCI endpoint functionality on systems that do not require it.
How to confirm the fix worked
Confirm the running kernel includes the vendor or upstream fix, not merely that packages are installed. Validate with uname -a, distribution package metadata, and vendor advisories for the deployed kernel stream. Check whether configfs is mounted, commonly at /sys/kernel/config, and whether PCI endpoint entries exist under /sys/kernel/config/pci_ep. On patched test systems, controlled unlink operations against valid PCI endpoint configfs links should no longer produce kernel oops or panic messages. Also confirm that access controls prevent non-administrative users from modifying configfs PCI endpoint objects.
Typical attack path
- Obtain local shell or code execution on an affected Linux system.
- Confirm that configfs is mounted and that PCI endpoint configuration entries are present.
- Use privileges capable of modifying configfs PCI endpoint objects.
- Locate an established PCI endpoint controller to endpoint function link.
- Perform an unlink operation against the affected configfs link.
- Trigger the vulnerable PCI endpoint unlink callback path with swapped parameters.
- Cause a kernel oops, panic, or crash, resulting in denial of service.
How to detect it
Look for evidence of prior local exploitation or accidental triggering in kernel logs, persistent journal entries, crash dumps, and audit logs. Relevant sources include dmesg, /var/log/kern.log, /var/log/messages, journalctl -k, systemd-coredump or kdump/vmcore records, auditd syscall logs for unlink/unlinkat operations under configfs, sudo logs, shell history for administrative users, and automation logs for hardware or PCI endpoint test frameworks. Focus on crashes that occurred immediately after unlink or rm operations targeting /sys/kernel/config/pci_ep paths. Kernel traces may show functions such as pci_epf_unbind, configfs_unlink, vfs_unlink, __arm64_sys_unlinkat, string, vsnprintf, or messages such as an inability to handle a kernel paging request. Because this is a local denial-of-service issue, there are no reliable network indicators; attribution should be based on local account activity, command execution records, and timing correlation with the kernel fault.
- /sys/kernel/config/pci_ep
- Unable to handle kernel paging request
- pci_epf_unbind
- configfs_unlink
- vfs_unlink
- __arm64_sys_unlinkat
- pci_primary_epc_epf_unlink
- pci_secondary_epc_epf_unlink
- unlinkat
- rm /sys/kernel/config/pci_ep
- kernel panic
- Oops:
- Mem abort info:
- pc : string+0x54/0x14c
- lr : vsnprintf+0x280/0x6e8
What your security team should do
- Prioritize patching affected Linux systems that use PCI endpoint functionality, especially embedded, edge, appliance, lab, telecom, or hardware enablement systems where local operators or automation can manipulate configfs.
- Inventory hosts with configfs mounted and PCI endpoint entries present under /sys/kernel/config/pci_ep.
- Restrict write access to configfs management operations to trusted administrators and tightly controlled automation only.
- Review sudoers, container privileges, maintenance scripts, and hardware test tooling for the ability to unlink or modify PCI endpoint configfs entries.
- Monitor kernel logs for PCI endpoint unlink activity followed by oops, panic, or paging request failures.
- Because EPSS is low, KEV status is false, and no mature exploit is reported, handle this as a targeted/local availability issue rather than an internet-scale emergency unless exposed in multi-user or semi-trusted local environments.
The record
In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: Fix swapped parameters in pci_{primary/secondary}_epc_epf_unlink() functions struct configfs_item_operations callbacks are defined like the following: int (*allow_link)(struct config_item *src, struct config_item *target); void (*drop_link)(struct config_item *src, struct config_item *target); While pci_primary_epc_epf_link() and pci_secondary_epc_epf_link() specify the parameters in the correct order, pci_primary_epc_epf_unlink() and pci_secondary_epc_epf_unlink() specify the parameters in the wrong order, leading to the below kernel crash when using the unlink command in configfs: Unable to handle kernel paging request at virtual address 0000000300000857 Mem abort info: ... pc : string+0x54/0x14c lr : vsnprintf+0x280/0x6e8 ... string+0x54/0x14c vsnprintf+0x280/0x6e8 vprintk_default+0x38/0x4c vprintk+0xc4/0xe0 pci_epf_unbind+0xdc/0x108 configfs_unlink+0xe0/0x208+0x44/0x74 vfs_unlink+0x120/0x29c __arm64_sys_unlinkat+0x3c/0x90 invoke_syscall+0x48/0x134 do_el0_svc+0x1c/0x30prop.0+0xd0/0xf0 [mani: cced stable, changed commit message as per https://lore.kernel.org/linux-pci/aV9joi3jF1R6ca02@ryzen]
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|