CVE-2025-38107 (GCVE-0-2025-38107)

Vulnerability from cvelistv5 – Published: 2025-07-03 08:35 – Updated: 2026-05-23 15:59
VLAI
Title
net_sched: ets: fix a race in ets_qdisc_change()
Summary
In the Linux kernel, the following vulnerability has been resolved: net_sched: ets: fix a race in ets_qdisc_change() Gerrard Tai reported a race condition in ETS, whenever SFQ perturb timer fires at the wrong time. The race is as follows: CPU 0 CPU 1 [1]: lock root [2]: qdisc_tree_flush_backlog() [3]: unlock root | | [5]: lock root | [6]: rehash | [7]: qdisc_tree_reduce_backlog() | [4]: qdisc_put() This can be abused to underflow a parent's qlen. Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog() should fix the race, because all packets will be purged from the qdisc before releasing the lock.
Severity
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 699d82e9a6db29d509a71f1f2f4316231e6232e6 , < eb7b74e9754e1ba2088f914ad1f57a778b11894b (git)
Affected: ce881ddbdc028fb1988b66e40e45ca0529c23b46 , < 0b479d0aa488cb478eb2e1d8868be946ac8afb4f (git)
Affected: b05972f01e7d30419987a1f221b5593668fd6448 , < 347867cb424edae5fec1622712c8dd0a2c42918f (git)
Affected: b05972f01e7d30419987a1f221b5593668fd6448 , < 0383b25488a545be168744336847549d4a2d3d6c (git)
Affected: b05972f01e7d30419987a1f221b5593668fd6448 , < 073f64c03516bcfaf790f8edc772e0cfb8a84ec3 (git)
Affected: b05972f01e7d30419987a1f221b5593668fd6448 , < fed94bd51d62d2e0e006aa61480e94e5cd0582b0 (git)
Affected: b05972f01e7d30419987a1f221b5593668fd6448 , < d92adacdd8c2960be856e0b82acc5b7c5395fddb (git)
Affected: fffa19b5e58c34004a0d6f642d9c24b11d213994 (git)
Affected: fb155f6597cd7bc3aeed668c3bb15fc3b7cb257d (git)
Affected: 5.10.142 , < 5.10.239 (semver)
Affected: 5.15.66 , < 5.15.186 (semver)
Affected: 5.4.213 , < 5.5 (semver)
Affected: 5.19.8 , < 5.20 (semver)
Create a notification for this product.
Linux Linux Affected: 6.0
Unaffected: 0 , < 6.0 (semver)
Unaffected: 5.10.239 , ≤ 5.10.* (semver)
Unaffected: 5.15.186 , ≤ 5.15.* (semver)
Unaffected: 6.1.142 , ≤ 6.1.* (semver)
Unaffected: 6.6.94 , ≤ 6.6.* (semver)
Unaffected: 6.12.34 , ≤ 6.12.* (semver)
Unaffected: 6.15.3 , ≤ 6.15.* (semver)
Unaffected: 6.16 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T17:34:09.673Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/sched/sch_ets.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "eb7b74e9754e1ba2088f914ad1f57a778b11894b",
              "status": "affected",
              "version": "699d82e9a6db29d509a71f1f2f4316231e6232e6",
              "versionType": "git"
            },
            {
              "lessThan": "0b479d0aa488cb478eb2e1d8868be946ac8afb4f",
              "status": "affected",
              "version": "ce881ddbdc028fb1988b66e40e45ca0529c23b46",
              "versionType": "git"
            },
            {
              "lessThan": "347867cb424edae5fec1622712c8dd0a2c42918f",
              "status": "affected",
              "version": "b05972f01e7d30419987a1f221b5593668fd6448",
              "versionType": "git"
            },
            {
              "lessThan": "0383b25488a545be168744336847549d4a2d3d6c",
              "status": "affected",
              "version": "b05972f01e7d30419987a1f221b5593668fd6448",
              "versionType": "git"
            },
            {
              "lessThan": "073f64c03516bcfaf790f8edc772e0cfb8a84ec3",
              "status": "affected",
              "version": "b05972f01e7d30419987a1f221b5593668fd6448",
              "versionType": "git"
            },
            {
              "lessThan": "fed94bd51d62d2e0e006aa61480e94e5cd0582b0",
              "status": "affected",
              "version": "b05972f01e7d30419987a1f221b5593668fd6448",
              "versionType": "git"
            },
            {
              "lessThan": "d92adacdd8c2960be856e0b82acc5b7c5395fddb",
              "status": "affected",
              "version": "b05972f01e7d30419987a1f221b5593668fd6448",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "fffa19b5e58c34004a0d6f642d9c24b11d213994",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "fb155f6597cd7bc3aeed668c3bb15fc3b7cb257d",
              "versionType": "git"
            },
            {
              "lessThan": "5.10.239",
              "status": "affected",
              "version": "5.10.142",
              "versionType": "semver"
            },
            {
              "lessThan": "5.15.186",
              "status": "affected",
              "version": "5.15.66",
              "versionType": "semver"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.213",
              "versionType": "semver"
            },
            {
              "lessThan": "5.20",
              "status": "affected",
              "version": "5.19.8",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/sched/sch_ets.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.0"
            },
            {
              "lessThan": "6.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.239",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.186",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.142",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.94",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.15.*",
              "status": "unaffected",
              "version": "6.15.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.16",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.239",
                  "versionStartIncluding": "5.10.142",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.186",
                  "versionStartIncluding": "5.15.66",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.142",
                  "versionStartIncluding": "6.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.94",
                  "versionStartIncluding": "6.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.34",
                  "versionStartIncluding": "6.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15.3",
                  "versionStartIncluding": "6.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16",
                  "versionStartIncluding": "6.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.213",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.19.8",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet_sched: ets: fix a race in ets_qdisc_change()\n\nGerrard Tai reported a race condition in ETS, whenever SFQ perturb timer\nfires at the wrong time.\n\nThe race is as follows:\n\nCPU 0                                 CPU 1\n[1]: lock root\n[2]: qdisc_tree_flush_backlog()\n[3]: unlock root\n |\n |                                    [5]: lock root\n |                                    [6]: rehash\n |                                    [7]: qdisc_tree_reduce_backlog()\n |\n[4]: qdisc_put()\n\nThis can be abused to underflow a parent\u0027s qlen.\n\nCalling qdisc_purge_queue() instead of qdisc_tree_flush_backlog()\nshould fix the race, because all packets will be purged from the qdisc\nbefore releasing the lock."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-23T15:59:01.435Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/eb7b74e9754e1ba2088f914ad1f57a778b11894b"
        },
        {
          "url": "https://git.kernel.org/stable/c/0b479d0aa488cb478eb2e1d8868be946ac8afb4f"
        },
        {
          "url": "https://git.kernel.org/stable/c/347867cb424edae5fec1622712c8dd0a2c42918f"
        },
        {
          "url": "https://git.kernel.org/stable/c/0383b25488a545be168744336847549d4a2d3d6c"
        },
        {
          "url": "https://git.kernel.org/stable/c/073f64c03516bcfaf790f8edc772e0cfb8a84ec3"
        },
        {
          "url": "https://git.kernel.org/stable/c/fed94bd51d62d2e0e006aa61480e94e5cd0582b0"
        },
        {
          "url": "https://git.kernel.org/stable/c/d92adacdd8c2960be856e0b82acc5b7c5395fddb"
        }
      ],
      "title": "net_sched: ets: fix a race in ets_qdisc_change()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38107",
    "datePublished": "2025-07-03T08:35:17.487Z",
    "dateReserved": "2025-04-16T04:51:23.985Z",
    "dateUpdated": "2026-05-23T15:59:01.435Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-38107",
      "date": "2026-05-27",
      "epss": "0.00063",
      "percentile": "0.1976"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38107\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-03T09:15:24.273\",\"lastModified\":\"2025-12-16T17:02:47.397\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet_sched: ets: fix a race in ets_qdisc_change()\\n\\nGerrard Tai reported a race condition in ETS, whenever SFQ perturb timer\\nfires at the wrong time.\\n\\nThe race is as follows:\\n\\nCPU 0                                 CPU 1\\n[1]: lock root\\n[2]: qdisc_tree_flush_backlog()\\n[3]: unlock root\\n |\\n |                                    [5]: lock root\\n |                                    [6]: rehash\\n |                                    [7]: qdisc_tree_reduce_backlog()\\n |\\n[4]: qdisc_put()\\n\\nThis can be abused to underflow a parent\u0027s qlen.\\n\\nCalling qdisc_purge_queue() instead of qdisc_tree_flush_backlog()\\nshould fix the race, because all packets will be purged from the qdisc\\nbefore releasing the lock.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net_sched: ets: corrige una ejecuci\u00f3n en ets_qdisc_change() Gerrard Tai inform\u00f3 de una condici\u00f3n de ejecuci\u00f3n en ETS, siempre que el temporizador de perturbaci\u00f3n SFQ se dispara en el momento equivocado. La ejecuci\u00f3n es la siguiente: CPU 0 CPU 1 [1]: ra\u00edz de bloqueo [2]: qdisc_tree_flush_backlog() [3]: ra\u00edz de desbloqueo | | [5]: ra\u00edz de bloqueo | [6]: rehash | [7]: qdisc_tree_reduce_backlog() | [4]: qdisc_put() Esto se puede abusar para desbordar el qlen de un padre. Llamar a qdisc_purge_queue() en lugar de qdisc_tree_flush_backlog() deber\u00eda corregir la ejecuci\u00f3n, porque todos los paquetes se purgar\u00e1n del qdisc antes de liberar el bloqueo.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.0,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.0,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-362\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.4.213\",\"versionEndExcluding\":\"5.5\",\"matchCriteriaId\":\"3F878731-43F1-4A9E-A036-18BFE499C6E4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.10.142\",\"versionEndExcluding\":\"5.10.239\",\"matchCriteriaId\":\"4FAD8C22-DA06-4F79-A8D2-AB1B56A900B1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15.66\",\"versionEndExcluding\":\"5.15.186\",\"matchCriteriaId\":\"BE850A17-AC1C-491E-B3A5-ED09E1EAEE85\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.19.8\",\"versionEndExcluding\":\"6.0\",\"matchCriteriaId\":\"57133CA5-FEDB-4D53-B672-E46C2DC0AC5F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.0.1\",\"versionEndExcluding\":\"6.1.142\",\"matchCriteriaId\":\"8A78062F-0E12-479D-872D-6FA9134EBCAE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.94\",\"matchCriteriaId\":\"304E3F01-7D7A-4908-994E-7F95C5C00B06\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.34\",\"matchCriteriaId\":\"4FFA54AA-CDFE-4591-BD07-72813D0948F4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.15.3\",\"matchCriteriaId\":\"0541C761-BD5E-4C1A-8432-83B375D7EB92\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:-:*:*:*:*:*:*\",\"matchCriteriaId\":\"7BE551E5-89CF-47A8-9B26-03CE727FBA37\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"F8446E87-F5F6-41CA-8201-BAE0F0CA6DD9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"8E5FB72F-67CE-43CC-83FE-541604D98182\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"3A0A7397-F5F8-4753-82DC-9A11288E696D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.0:rc7:*:*:*:*:*:*\",\"matchCriteriaId\":\"E6DE049A-ABA8-41DD-988C-8C088358EE9B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"6D4894DB-CCFE-4602-B1BF-3960B2E19A01\"}]}]},{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"FA6FEEC2-9F11-4643-8827-749718254FED\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0383b25488a545be168744336847549d4a2d3d6c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/073f64c03516bcfaf790f8edc772e0cfb8a84ec3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0b479d0aa488cb478eb2e1d8868be946ac8afb4f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/347867cb424edae5fec1622712c8dd0a2c42918f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/d92adacdd8c2960be856e0b82acc5b7c5395fddb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/eb7b74e9754e1ba2088f914ad1f57a778b11894b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/fed94bd51d62d2e0e006aa61480e94e5cd0582b0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\",\"Mailing List\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\",\"Mailing List\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…