Lucene search

K
cve416baaa9-dc9f-4396-8d5f-8c081fb06d67CVE-2024-36244
HistoryJun 21, 2024 - 11:15 a.m.

CVE-2024-36244

2024-06-2111:15:09
416baaa9-dc9f-4396-8d5f-8c081fb06d67
web.nvd.nist.gov
20
linux kernel
vulnerability
net/sched
taprio
syzbot
cycle time restriction
selftest

6.6 Medium

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

15.7%

In the Linux kernel, the following vulnerability has been resolved:

net/sched: taprio: extend minimum interval restriction to entire cycle too

It is possible for syzbot to side-step the restriction imposed by the
blamed commit in the Fixes: tag, because the taprio UAPI permits a
cycle-time different from (and potentially shorter than) the sum of
entry intervals.

We need one more restriction, which is that the cycle time itself must
be larger than N * ETH_ZLEN bit times, where N is the number of schedule
entries. This restriction needs to apply regardless of whether the cycle
time came from the user or was the implicit, auto-calculated value, so
we move the existing “cycle == 0” check outside the "if “(!new->cycle_time)”
branch. This way covers both conditions and scenarios.

Add a selftest which illustrates the issue triggered by syzbot.

Affected configurations

Vulners
Node
linuxlinux_kernelRange5.96.6.33
OR
linuxlinux_kernelRange6.7.06.9.4
OR
linuxlinux_kernelRange6.10.06.10-rc2

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "net/sched/sch_taprio.c",
      "tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json"
    ],
    "versions": [
      {
        "version": "b5b73b26b3ca",
        "lessThan": "b939d1e04a90",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "b5b73b26b3ca",
        "lessThan": "91f249b01fe4",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "b5b73b26b3ca",
        "lessThan": "fb66df20a720",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "net/sched/sch_taprio.c",
      "tools/testing/selftests/tc-testing/tc-tests/qdiscs/taprio.json"
    ],
    "versions": [
      {
        "version": "5.9",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.9",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.33",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.9.4",
        "lessThanOrEqual": "6.9.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10-rc2",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

6.6 Medium

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

15.7%