Skip to content
Heist/ feed
Unrated

net/sched: netem: account for backlog updates from child qdisc

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: net/sched: netem: account for backlog updates from child qdisc In general, 'qlen' of any classful qdisc should keep track of the number of packets that the qdisc itself and all of its children holds. In case of netem, 'qlen' only accounts for the packets in its internal tfifo. When netem is used with a child qdisc, the child qdisc can use 'qdisc_tree_reduce_backlog' to inform its parent, netem, about created or dropped SKBs. This function updates 'qlen' and the backlog statistics of netem, but netem does not account for changes made by a child qdisc. 'qlen' then indicates the wrong number of packets in the tfifo. If a child qdisc creates new SKBs during enqueue and informs its parent about this, netem's 'qlen' value is increased. When netem dequeues the newly created SKBs from the child, the 'qlen' in netem is not updated. If 'qlen' reaches the configured sch->limit, the enqueue function stops working, even though the tfifo is not full. Reproduce the bug: Ensure that the sender machine has GSO enabled. Configure netem as root qdisc and tbf as its child on the outgoing interface of the machine as follows: $ tc qdisc add dev root handle 1: netem delay 100ms limit 100 $ tc qdisc add dev parent 1:0 tbf rate 50Mbit burst 1542 latency 50ms Send bulk TCP traffic out via this interface, e.g., by running an iPerf3 client on the machine. Check the qdisc statistics: $ tc -s qdisc show dev Statistics after 10s of iPerf3

Announced Group revision 1
Original source ↗

CVE-2024-56770

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-2024-56770

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": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "83c6ab12f08dcc09d4c5ac86fdb89736b28f1d31",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "216509dda290f6db92c816dd54b83c1df9da9e76",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "c2047b0e216c8edce227d7c42f99ac2877dad0e4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "10df49cfca73dfbbdb6c4150d859f7e8926ae427",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "3824c5fad18eeb7abe0c4fc966f29959552dca3e",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "356078a5c55ec8d2061fcc009fb8599f5b0527f9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "50612537e9ab29693122fab20fc1eed235054ffe",
        "lessThan": "f8d4bc455047cf3903cd6f85f49978987dbb3027",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "net/sched/sch_netem.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "3.3"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "3.3",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.4.288",
        "versionType": "semver",
        "lessThanOrEqual": "5.4.*"
      },
      {
        "status": "unaffected",
        "version": "5.10.232",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.175",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.121",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.67",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.6",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.13",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "net/sched/sch_netem.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2024-56770

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

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