CVE-2026-23460

net/rose: fix NULL pointer dereference in rose_transmit_link on reconnect

State
Published
Severity
Not scored
Published
Apr 3, 2026
Updated
May 11, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

Description

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

net/rose: fix NULL pointer dereference in rose_transmit_link on reconnect

syzkaller reported a bug [1], and the reproducer is available at [2].

ROSE sockets use four sk->sk_state values: TCP_CLOSE, TCP_LISTEN, TCP_SYN_SENT, and TCP_ESTABLISHED. rose_connect() already rejects calls for TCP_ESTABLISHED (-EISCONN) and TCP_CLOSE with SS_CONNECTING (-ECONNREFUSED), but lacks a check for TCP_SYN_SENT.

When rose_connect() is called a second time while the first connection attempt is still in progress (TCP_SYN_SENT), it overwrites rose->neighbour via rose_get_neigh(). If that returns NULL, the socket is left with rose->state == ROSE_STATE_1 but rose->neighbour == NULL. When the socket is subsequently closed, rose_release() sees ROSE_STATE_1 and calls rose_write_internal() -> rose_transmit_link(skb, NULL), causing a NULL pointer dereference.

Per connect(2), a second connect() while a connection is already in progress should return -EALREADY. Add this missing check for TCP_SYN_SENT to complete the state validation in rose_connect().

[1] https://syzkaller.appspot.com/bug?extid=d00f90e0af54102fb271 [2] https://gist.github.com/mrpre/9e6779e0d13e2c66779b1653fef80516

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before c85fe6580e86947ca07907ebf4363a73c156fda7Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a753844d2a8136f090123c8fb1ff6c7f6ee7c2b3Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before c2ab74c12932e52cfa1e7e4582d42b0c8bec96c7Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 0c9fb70a206a8734e10468ecc24d57c7596cf64eAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 508f49ccbe0329641bb681f7d0052bb4e5943252Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 0c3e8bff808f17ad37a51d8e719eed22c7863120Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a12254050e3050f1011cd24f3b880a6882d0139dAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before e1f0a18c9564cdb16523c802e2c6fe5874e3d944Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 5.10.253 through 5.10.*Not affected
  • 5.15.203 through 5.15.*Not affected
  • 6.1.167 through 6.1.*Not affected
  • 6.6.130 through 6.6.*Not affected
  • 6.12.78 through 6.12.*Not affected
  • 6.18.20 through 6.18.*Not affected
  • 6.19.10 through 6.19.*Not affected
  • 7.0 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.