CVE-2023-54105
NoneCVSS
—
EPSS
0.2%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A small oversight let programs supply the wrong kind of network address when setting up a certain socket, but nothing harmful happened as a result.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Trivial
- Impact
- Other
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing address family validation in isotp_bind() permits non-AF_CAN sockaddr structures (e.g., AF_XDP) of matching size to be bound without error or functional effect.
Why it matters to the business
No operational disruption or data exposure occurs; the sole consequence is that userspace receives no notification of an incorrect address family field.
How an attack unfolds
An automated fuzzer constructs a bind call using a sockaddr_isotp-sized structure but populates the family field with AF_XDP instead of AF_CAN; the kernel accepts the bind because the check is absent, though no subsequent CAN or isotp operations are affected.
How to fix it
Upgrade to a kernel containing commit 19a8520895484e68fd254773e32476565d91deea (or equivalent backport) that adds the AF_CAN family check in isotp_bind().
How to confirm the fix worked
Confirm the patched isotp_bind() contains an explicit comparison of the sockaddr family field against AF_CAN before proceeding; re-run the original syzbot reproducer to verify it now returns an error.
Typical attack path
- Craft a sockaddr structure of size 0x10 with family set to 0x2C (AF_XDP)
- Call bind() on an isotp socket using the malformed address
- Kernel skips AF_CAN verification and returns success
How to detect it
Review kernel audit logs or strace output for bind() calls on isotp sockets that specify a non-AF_CAN address family; no persistent artifacts are created.
What your security team should do
- Apply the referenced kernel commit or distribution update at the next maintenance window
- Monitor for any future syzbot or fuzzing reports targeting isotp or can subsystems
The record
In the Linux kernel, the following vulnerability has been resolved: can: isotp: check CAN address family in isotp_bind() Add missing check to block non-AF_CAN binds. Syzbot created some code which matched the right sockaddr struct size but used AF_XDP (0x2C) instead of AF_CAN (0x1D) in the address family field: bind$xdp(r2, &(0x7f0000000540)={0x2c, 0x0, r4, 0x0, r2}, 0x10) ^^^^ This has no funtional impact but the userspace should be notified about the wrong address family field content.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 0 | 5.10.200 |
| Linux | Kernel | 5.10.0 | 5.10.200 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel