Skip to main content
VulnerabilityPublished

CVE-2026-63996: Linux kernel · ethtool: cmis: require exact CDB reply length

Source GCVE Database

0
Authoritative record:CVE-2026-63996· High 7.8

Not known to be exploited · CVSS 7.8 High · fixed in eb5dcd740cd7fa27bc2caeff2d28ef28e93ff4d3 : patch Linux kernel soon.

Data as of 26 Oct 2026, 12:55 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 2% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in eb5dcd740cd7fa27bc2caeff2d28ef28e93ff4d3, 6c3f999a9d1338c6c89a9ff4549eafe72bc2e7b1, 4d42fb88ec61f2e98c33a9e3a2de371d5edbc6b1 +1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 19 Jul 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade Linux kernel to eb5dcd740cd7fa27bc2caeff2d28ef28e93ff4d3, 6c3f999a9d1338c6c89a9ff4549eafe72bc2e7b1, 4d42fb88ec61f2e98c33a9e3a2de371d5edbc6b1 or 2f818cc98fd2c63a08239cb48995f6c3bfe9d9b3.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ a39c84d796254e6b1662ca0c46dbc313379e9291, < eb5dcd740cd7fa27bc2caeff2d28ef28e93ff4d3
Fixed in
  • eb5dcd740cd7fa27bc2caeff2d28ef28e93ff4d3
LinuxLinuxAffected
  • ≥ a39c84d796254e6b1662ca0c46dbc313379e9291, < 6c3f999a9d1338c6c89a9ff4549eafe72bc2e7b1
Fixed in
  • 6c3f999a9d1338c6c89a9ff4549eafe72bc2e7b1
LinuxLinuxAffected
  • ≥ a39c84d796254e6b1662ca0c46dbc313379e9291, < 4d42fb88ec61f2e98c33a9e3a2de371d5edbc6b1
Fixed in
  • 4d42fb88ec61f2e98c33a9e3a2de371d5edbc6b1
LinuxLinuxAffected
  • ≥ a39c84d796254e6b1662ca0c46dbc313379e9291, < 2f818cc98fd2c63a08239cb48995f6c3bfe9d9b3
Fixed in
  • 2f818cc98fd2c63a08239cb48995f6c3bfe9d9b3
LinuxLinuxAffected
  • =6.11
Fixed in–

AI-suggested

A fix has been implemented in the Linux kernel to require exact CDB reply lengths in the ethtool cmis driver, preventing out-of-bounds writes. Users should update their Linux kernel to a version that includes this patch. Since this is a kernel-level fix, no additional mitigation steps are required beyond applying the official kernel update. Patch status is not explicitly confirmed in the provided data; users should verify the vendor advisory or kernel changelogs for the exact fixed version.

Description

In the Linux kernel, the following vulnerability has been resolved: ethtool: cmis: require exact CDB reply length Malicious SFP module could respond with rpl_len longer than what cmis_cdb_process_reply() expected, leading to OOB writes. Malicious HW is a bit theoretical but some modules may just be buggy and/or the reads may occasionally get corrupted, so let's protect the kernel. The existing check protects from short replies. We need to protect from long ones, too. All callers that pass a non-zero rpl_exp_len cast the reply payload to a fixed-layout struct and read fields at fixed offsets, with no version negotiation or short-reply handling: - cmis_cdb_validate_password() - cmis_cdb_module_features_get() - cmis_fw_update_fw_mng_features_get() so let's assume that responses longer than expected do not have to be handled gracefully here. Add a warning message to make the debug easier in case my understanding is wrong... Note that page_data->length (argument of kmalloc) comes from last arg to ethtool_cmis_page_init() which is rpl_exp_len. Note2 that AIs also like to point out overflows in args->req.payload itself (which is a fixed-size 120 B buffer, on the stack), but callers should be reading structs defined by the standard, so protecting from requests for more data than max seem like defensive programming.

References

Community reviews

Loading reviews…