CVE-2025-38637 (GCVE-0-2025-38637)
Vulnerability from cvelistv5
Published
2025-04-18 07:01
Modified
2025-05-26 05:25
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: net_sched: skbprio: Remove overly strict queue assertions In the current implementation, skbprio enqueue/dequeue contains an assertion that fails under certain conditions when SKBPRIO is used as a child qdisc under TBF with specific parameters. The failure occurs because TBF sometimes peeks at packets in the child qdisc without actually dequeuing them when tokens are unavailable. This peek operation creates a discrepancy between the parent and child qdisc queue length counters. When TBF later receives a high-priority packet, SKBPRIO's queue length may show a different value than what's reflected in its internal priority queue tracking, triggering the assertion. The fix removes this overly strict assertions in SKBPRIO, they are not necessary at all.
Impacted products
Vendor Product Version
Linux Linux Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Version: aea5f654e6b78a0c976f7a25950155932c77a53f
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/sched/sch_skbprio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "7abc8318ce0712182bf0783dcfdd9a6a8331160e",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "1284733bab736e598341f1d3f3b94e2a322864a8",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "32ee79682315e6d3c99947b3f38b078a09a66919",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "1dcc144c322a8d526b791135604c0663f1af9d85",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "864ca690ff135078d374bd565b9872f161c614bc",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "2f35b7673a3aa3d09b3eb05811669622ebaa98ca",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "2286770b07cb5268c03d11274b8efd43dff0d380",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "034b293bf17c124fec0f0e663f81203b00aa7a50",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            },
            {
              "lessThan": "ce8fe975fd99b49c29c42e50f2441ba53112b2e8",
              "status": "affected",
              "version": "aea5f654e6b78a0c976f7a25950155932c77a53f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/sched/sch_skbprio.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.19"
            },
            {
              "lessThan": "4.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.292",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.236",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.180",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.134",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.87",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.23",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.13.*",
              "status": "unaffected",
              "version": "6.13.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.14.*",
              "status": "unaffected",
              "version": "6.14.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.15",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.292",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.236",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.180",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.134",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.87",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.23",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.11",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14.2",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet_sched: skbprio: Remove overly strict queue assertions\n\nIn the current implementation, skbprio enqueue/dequeue contains an assertion\nthat fails under certain conditions when SKBPRIO is used as a child qdisc under\nTBF with specific parameters. The failure occurs because TBF sometimes peeks at\npackets in the child qdisc without actually dequeuing them when tokens are\nunavailable.\n\nThis peek operation creates a discrepancy between the parent and child qdisc\nqueue length counters. When TBF later receives a high-priority packet,\nSKBPRIO\u0027s queue length may show a different value than what\u0027s reflected in its\ninternal priority queue tracking, triggering the assertion.\n\nThe fix removes this overly strict assertions in SKBPRIO, they are not\nnecessary at all."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-26T05:25:24.911Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/7abc8318ce0712182bf0783dcfdd9a6a8331160e"
        },
        {
          "url": "https://git.kernel.org/stable/c/1284733bab736e598341f1d3f3b94e2a322864a8"
        },
        {
          "url": "https://git.kernel.org/stable/c/32ee79682315e6d3c99947b3f38b078a09a66919"
        },
        {
          "url": "https://git.kernel.org/stable/c/1dcc144c322a8d526b791135604c0663f1af9d85"
        },
        {
          "url": "https://git.kernel.org/stable/c/864ca690ff135078d374bd565b9872f161c614bc"
        },
        {
          "url": "https://git.kernel.org/stable/c/2f35b7673a3aa3d09b3eb05811669622ebaa98ca"
        },
        {
          "url": "https://git.kernel.org/stable/c/2286770b07cb5268c03d11274b8efd43dff0d380"
        },
        {
          "url": "https://git.kernel.org/stable/c/034b293bf17c124fec0f0e663f81203b00aa7a50"
        },
        {
          "url": "https://git.kernel.org/stable/c/ce8fe975fd99b49c29c42e50f2441ba53112b2e8"
        }
      ],
      "title": "net_sched: skbprio: Remove overly strict queue assertions",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38637",
    "datePublished": "2025-04-18T07:01:34.564Z",
    "dateReserved": "2025-04-16T04:51:24.030Z",
    "dateUpdated": "2025-05-26T05:25:24.911Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-38637\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-04-18T07:15:43.823\",\"lastModified\":\"2025-04-21T14:23:45.950\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet_sched: skbprio: Remove overly strict queue assertions\\n\\nIn the current implementation, skbprio enqueue/dequeue contains an assertion\\nthat fails under certain conditions when SKBPRIO is used as a child qdisc under\\nTBF with specific parameters. The failure occurs because TBF sometimes peeks at\\npackets in the child qdisc without actually dequeuing them when tokens are\\nunavailable.\\n\\nThis peek operation creates a discrepancy between the parent and child qdisc\\nqueue length counters. When TBF later receives a high-priority packet,\\nSKBPRIO\u0027s queue length may show a different value than what\u0027s reflected in its\\ninternal priority queue tracking, triggering the assertion.\\n\\nThe fix removes this overly strict assertions in SKBPRIO, they are not\\nnecessary at all.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net_sched: skbprio: eliminar aserciones de cola demasiado estrictas En la implementaci\u00f3n actual, skbprio enqueue/dequeue contiene una aserci\u00f3n que falla bajo ciertas condiciones cuando SKBPRIO se usa como una qdisc secundaria bajo TBF con par\u00e1metros espec\u00edficos. El fallo se produce porque TBF a veces echa un vistazo a los paquetes en la qdisc secundaria sin realmente sacarlos de la cola cuando los tokens no est\u00e1n disponibles. Esta operaci\u00f3n de vistazo crea una discrepancia entre los contadores de longitud de cola de la qdisc primaria y secundaria. Cuando TBF recibe posteriormente un paquete de alta prioridad, la longitud de cola de SKBPRIO puede mostrar un valor diferente al que se refleja en su seguimiento interno de cola de prioridad, lo que activa la aserci\u00f3n. La correcci\u00f3n elimina estas aserciones demasiado estrictas en SKBPRIO, no son necesarias en absoluto.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/034b293bf17c124fec0f0e663f81203b00aa7a50\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1284733bab736e598341f1d3f3b94e2a322864a8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1dcc144c322a8d526b791135604c0663f1af9d85\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2286770b07cb5268c03d11274b8efd43dff0d380\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2f35b7673a3aa3d09b3eb05811669622ebaa98ca\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/32ee79682315e6d3c99947b3f38b078a09a66919\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7abc8318ce0712182bf0783dcfdd9a6a8331160e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/864ca690ff135078d374bd565b9872f161c614bc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ce8fe975fd99b49c29c42e50f2441ba53112b2e8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.
  • 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…