CVE-2026-43216 (GCVE-0-2026-43216)
Vulnerability from cvelistv5
Published
2026-05-06 11:28
Modified
2026-07-24 14:33
Severity ?
Summary
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.
Impacted products
Vendor Product Version
Linux Linux Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Version: b245be1f4db1a0394e4b6eb66059814b46670ac3
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/net/sock.h",
            "net/core/skbuff.c",
            "net/socket.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4839cbda8f13e99ce2bb3b593f5cc3288415684b",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "3709d73ace37e9aaebb688f5a5cf706d74350b64",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "cf7599116c4c0082fd25cb1bf0254631da0ed06e",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "cd2463ec60f0d6e460078037c86f9d0947ee1ff6",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "c770217044d9cbe16a1f7c385cf080ed06a2fc04",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "f3e4cceafad27c9363c33622732f86722846ec6f",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "e4c6efb3b70ff87f1df99efce2f8893717695718",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            },
            {
              "lessThan": "983512f3a87fd8dc4c94dfa6b596b6e57df5aad7",
              "status": "affected",
              "version": "b245be1f4db1a0394e4b6eb66059814b46670ac3",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/net/sock.h",
            "net/core/skbuff.c",
            "net/socket.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.0"
            },
            {
              "lessThan": "4.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.261",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.95",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.16",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.261",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.95",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.16",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.6",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "4.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: Drop the lock in skb_may_tx_timestamp()\n\nskb_may_tx_timestamp() may acquire sock::sk_callback_lock. The lock must\nnot be taken in IRQ context, only softirq is okay. A few drivers receive\nthe timestamp via a dedicated interrupt and complete the TX timestamp\nfrom that handler. This will lead to a deadlock if the lock is already\nwrite-locked on the same CPU.\n\nTaking the lock can be avoided. The socket (pointed by the skb) will\nremain valid until the skb is released. The -\u003esk_socket and -\u003efile\nmember will be set to NULL once the user closes the socket which may\nhappen before the timestamp arrives.\nIf we happen to observe the pointer while the socket is closing but\nbefore the pointer is set to NULL then we may use it because both\npointer (and the file\u0027s cred member) are RCU freed.\n\nDrop the lock. Use READ_ONCE() to obtain the individual pointer. Add a\nmatching WRITE_ONCE() where the pointer are cleared."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-24T14:33:35.358Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/4839cbda8f13e99ce2bb3b593f5cc3288415684b"
        },
        {
          "url": "https://git.kernel.org/stable/c/3709d73ace37e9aaebb688f5a5cf706d74350b64"
        },
        {
          "url": "https://git.kernel.org/stable/c/cf7599116c4c0082fd25cb1bf0254631da0ed06e"
        },
        {
          "url": "https://git.kernel.org/stable/c/cd2463ec60f0d6e460078037c86f9d0947ee1ff6"
        },
        {
          "url": "https://git.kernel.org/stable/c/c770217044d9cbe16a1f7c385cf080ed06a2fc04"
        },
        {
          "url": "https://git.kernel.org/stable/c/f3e4cceafad27c9363c33622732f86722846ec6f"
        },
        {
          "url": "https://git.kernel.org/stable/c/e4c6efb3b70ff87f1df99efce2f8893717695718"
        },
        {
          "url": "https://git.kernel.org/stable/c/983512f3a87fd8dc4c94dfa6b596b6e57df5aad7"
        }
      ],
      "title": "net: Drop the lock in skb_may_tx_timestamp()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-43216",
    "datePublished": "2026-05-06T11:28:18.277Z",
    "dateReserved": "2026-05-01T14:12:55.993Z",
    "dateUpdated": "2026-07-24T14:33:35.358Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…