CVE-2026-46170 (GCVE-0-2026-46170)
Vulnerability from cvelistv5
Published
2026-05-28 09:36
Modified
2026-08-27 12:39
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: mptcp: pm: ADD_ADDR rtx: free sk if last When an ADD_ADDR is retransmitted, the sk is held in sk_reset_timer(), and released at the end. If at that moment, it was the last reference being held, the sk would not be freed. sock_put() should then be called instead of __sock_put(). But that's not enough: if it is the last reference, sock_put() will call sk_free(), which will end up calling sk_stop_timer_sync() on the same timer, and waiting indefinitely to finish. So it is needed to mark that the timer is done at the end of the timer handler when it has not been rescheduled, not to call sk_stop_timer_sync() on "itself".
Impacted products
Vendor Product Version
Linux Linux Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Version: 00cfd77b9063dcdf3628a7087faba60de85a9cc8
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/mptcp/pm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1f26487e83e69462540bb1047139472957c913c6",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            },
            {
              "lessThan": "5da972efed3dc7599da6e2b5e8d906d1b7b1a728",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            },
            {
              "lessThan": "6a3af482188f6db4186d1605f64d911d7330abb3",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            },
            {
              "lessThan": "531c537b8fb620beabccfb1594e8d43cbebbb87a",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            },
            {
              "lessThan": "b74ad20198652b6b39a761c277ba65ae82b1e107",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            },
            {
              "lessThan": "8143a224785ceaf2b0856e08d4498916f38228fb",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            },
            {
              "lessThan": "b7b9a461569734d33d3259d58d2507adfac107ed",
              "status": "affected",
              "version": "00cfd77b9063dcdf3628a7087faba60de85a9cc8",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/mptcp/pm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.10"
            },
            {
              "lessThan": "5.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.218",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.185",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.142",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.92",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.30",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.218",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.185",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.142",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.92",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.30",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.7",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "5.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmptcp: pm: ADD_ADDR rtx: free sk if last\n\nWhen an ADD_ADDR is retransmitted, the sk is held in sk_reset_timer(),\nand released at the end.\n\nIf at that moment, it was the last reference being held, the sk would\nnot be freed. sock_put() should then be called instead of __sock_put().\n\nBut that\u0027s not enough: if it is the last reference, sock_put() will call\nsk_free(), which will end up calling sk_stop_timer_sync() on the same\ntimer, and waiting indefinitely to finish. So it is needed to mark that\nthe timer is done at the end of the timer handler when it has not been\nrescheduled, not to call sk_stop_timer_sync() on \"itself\"."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-27T12:39:41.056Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1f26487e83e69462540bb1047139472957c913c6"
        },
        {
          "url": "https://git.kernel.org/stable/c/5da972efed3dc7599da6e2b5e8d906d1b7b1a728"
        },
        {
          "url": "https://git.kernel.org/stable/c/6a3af482188f6db4186d1605f64d911d7330abb3"
        },
        {
          "url": "https://git.kernel.org/stable/c/531c537b8fb620beabccfb1594e8d43cbebbb87a"
        },
        {
          "url": "https://git.kernel.org/stable/c/b74ad20198652b6b39a761c277ba65ae82b1e107"
        },
        {
          "url": "https://git.kernel.org/stable/c/8143a224785ceaf2b0856e08d4498916f38228fb"
        },
        {
          "url": "https://git.kernel.org/stable/c/b7b9a461569734d33d3259d58d2507adfac107ed"
        }
      ],
      "title": "mptcp: pm: ADD_ADDR rtx: free sk if last",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-46170",
    "datePublished": "2026-05-28T09:36:25.184Z",
    "dateReserved": "2026-05-13T15:03:33.103Z",
    "dateUpdated": "2026-08-27T12:39:41.056Z",
    "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…