CVE-2026-90225 PUBLISHED

nfc: llcp: read llcp_sock->local under the socket lock in getsockopt

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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

nfc: llcp: read llcp_sock->local under the socket lock in getsockopt

nfc_llcp_getsockopt() read llcp_sock->local before lock_sock(sk) and then dereferenced the cached pointer inside the locked region. llcp_sock_bind() assigns and clears llcp_sock->local under the same socket lock, dropping the last reference on its error path. A getsockopt() racing an in-flight bind() can observe the pointer, block on lock_sock(), and then dereference a freed nfc_llcp_local once bind() has unwound.

Move the llcp_sock->local read and the NULL check inside the lock_sock(sk) region so bind() cannot mutate or free the pointer between the load and the use.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to 56fd158fef20268f48db6cdfe5d722e930134eda (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to 8ba8cec0586727cc135ca4827921fc7b52946d71 (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to ed5240bab3468988077fe8bf29b935eaecc9ff89 (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to fe65727a4a21b11c18eebae1338482767a897b76 (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to 2d8ac24565be85bf56580b87bf1b874d35625eb5 (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to 156e65bd29307f5053835bff60bc1ba342fa010f (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to d1b73962675cdc5a58e2707e25b548d8b495fde0 (excl.)
  • affected from 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 to 36812527052c5bfb1ec6c1e292d67a5bf76b750f (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.10 is affected
  • unaffected from 0 to 3.10 (excl.)
  • unaffected from 5.10.270 to 5.10.* (incl.)
  • unaffected from 5.15.221 to 5.15.* (incl.)
  • unaffected from 6.1.188 to 6.1.* (incl.)
  • unaffected from 6.6.157 to 6.6.* (incl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.52 to 6.18.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References