CVE-2026-53292

net: phonet: do not BUG_ON() in pn_socket_autobind() on failed bind

State
Published
Severity
Not scored
Published
Jun 26, 2026
Updated
Oct 30, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

net: phonet: do not BUG_ON() in pn_socket_autobind() on failed bind

syzbot reported a kernel BUG triggered from pn_socket_sendmsg() via pn_socket_autobind():

kernel BUG at net/phonet/socket.c:213! RIP: 0010:pn_socket_autobind net/phonet/socket.c:213 [inline] RIP: 0010:pn_socket_sendmsg+0x240/0x250 net/phonet/socket.c:421 Call Trace: sock_sendmsg_nosec+0x112/0x150 net/socket.c:797 __sock_sendmsg net/socket.c:812 [inline] __sys_sendto+0x402/0x590 net/socket.c:2280 ...

pn_socket_autobind() calls pn_socket_bind() with port 0 and, on -EINVAL, assumes the socket was already bound and asserts that the port is non-zero:

err = pn_socket_bind(sock, ..., sizeof(struct sockaddr_pn)); if (err != -EINVAL) return err; BUG_ON(!pn_port(pn_sk(sock->sk)->sobject)); return 0; /* socket was already bound */

However pn_socket_bind() also returns -EINVAL when sk->sk_state is not TCP_CLOSE, even when the socket has never been bound and pn_port() is still 0. In that case the BUG_ON() fires and panics the kernel from a user-triggerable path.

Treat the "bind returned -EINVAL but pn_port() is still 0" case as a regular error and propagate -EINVAL to the caller instead of crashing. Existing callers already translate a non-zero return from pn_socket_autobind() into -ENOBUFS/-EAGAIN, so returning -EINVAL here only changes behaviour from panic to a normal errno.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ba113a94b7503ee23ffe819e7045134b0c1d31de to before 6972021488e3142f30a89d8035eebeefbbe65656Affected
  • ba113a94b7503ee23ffe819e7045134b0c1d31de to before 4255c8f756b78d07800baf3320bdbdc130c54193Affected
  • ba113a94b7503ee23ffe819e7045134b0c1d31de to before 363c7fcac553dc2aa12fc90c6e5e6eba87500269Affected
  • ba113a94b7503ee23ffe819e7045134b0c1d31de to before 5459933a799aaf642cbeb35fdf7e78c59bf2fb9bAffected
  • ba113a94b7503ee23ffe819e7045134b0c1d31de to before 6db58ee730bf434d1afca91b91826e26688856edAffected
  • ba113a94b7503ee23ffe819e7045134b0c1d31de to before 5b0c911bcdbd982f7748d11c0b39ec5808eae2deAffected
LinuxLinux
  • 2.6.28Affected
  • before 2.6.28Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.57 through 6.18.*Not affected
  • 7.0.10 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.