Cloudanix VulnDB

CVE-2023-54105

None

CVSS

—

EPSS

0.2%

Published

Dec 24, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Craft a sockaddr structure of size 0x10 with family set to 0x2C (AF_XDP)
  2. Call bind() on an isotp socket using the malformed address
  3. 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