CVE-2026-53292CWE-617

CVE-2026-53292

Medium · published June 27, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
5.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00162 · 5.0th percentile
Weakness
CWE-617 · Reachable Assertion
Published
2026-06-27T00:17Z
Affected products (2)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.28, < 7.0.107.0.10
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 26 JUN 19:40Z
    net: phonet: do not BUG_ON() in pn_socket_autobind() on failed bind
    cvelistv5