Skip to content
Heist/ feed
Unrated

net: Drop the lock in skb_may_tx_timestamp()

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: net: Drop the lock in skb_may_tx_timestamp() skb_may_tx_timestamp() may acquire sock::sk_callback_lock. The lock must not be taken in IRQ context, only softirq is okay. A few drivers receive the timestamp via a dedicated interrupt and complete the TX timestamp from that handler. This will lead to a deadlock if the lock is already write-locked on the same CPU. Taking the lock can be avoided. The socket (pointed by the skb) will remain valid until the skb is released. The ->sk_socket and ->file member will be set to NULL once the user closes the socket which may happen before the timestamp arrives. If we happen to observe the pointer while the socket is closing but before the pointer is set to NULL then we may use it because both pointer (and the file's cred member) are RCU freed. Drop the lock. Use READ_ONCE() to obtain the individual pointer. Add a matching WRITE_ONCE() where the pointer are cleared.

Announced Source revision 1
Original source ↗

CVE-2026-43216

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-43216

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "4839cbda8f13e99ce2bb3b593f5cc3288415684b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "3709d73ace37e9aaebb688f5a5cf706d74350b64",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "cf7599116c4c0082fd25cb1bf0254631da0ed06e",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "cd2463ec60f0d6e460078037c86f9d0947ee1ff6",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "c770217044d9cbe16a1f7c385cf080ed06a2fc04",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "f3e4cceafad27c9363c33622732f86722846ec6f",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "e4c6efb3b70ff87f1df99efce2f8893717695718",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
        "lessThan": "983512f3a87fd8dc4c94dfa6b596b6e57df5aad7",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "include/net/sock.h",
      "net/core/skbuff.c",
      "net/socket.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.0"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.0",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.261",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.212",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.178",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.145",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.95",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.16",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "6.19.6",
        "versionType": "semver",
        "lessThanOrEqual": "6.19.*"
      },
      {
        "status": "unaffected",
        "version": "7.0",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "include/net/sock.h",
      "net/core/skbuff.c",
      "net/socket.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-43216

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#28349 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement