CVE-2026-72014

drbd: reject data replies with an out-of-range payload size

State
Published
Severity
9.8 Critical
Published
Aug 15, 2026
Updated
Oct 19, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

Description

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

drbd: reject data replies with an out-of-range payload size

recv_dless_read() receives a P_DATA_REPLY from a peer into the bio of an outstanding read request. The peer-supplied payload length reaches it as the signed int data_size, and two peer-controlled inputs can make it negative. With a negotiated data-integrity-alg the digest length is subtracted first, so a reply whose payload is smaller than the digest underflows data_size. With no integrity algorithm (the default) data_size is assigned from the unsigned h95/h100 wire length and drbdd() never bounds it for a payload-carrying command, so a length above INT_MAX casts it negative; this path needs no non-default feature. The bio receive loop then computes expect = min_t(int, data_size, bv_len), which is negative, and drbd_recv_all_warn(mapped, expect) receives with a size_t of SIZE_MAX into the first mapped page.

The sibling receive path read_in_block() is not affected: it uses an unsigned size and rejects it against DRBD_MAX_BIO_SIZE before receiving. Reject a data reply whose size is negative after the optional digest subtraction, covering both triggers.

Impact: a malicious or man-in-the-middle DRBD peer copies attacker-chosen bytes past a bio page in the receiver, corrupting kernel memory. A node that reads from its peer (a diskless node, or read-balancing to the peer) is exposed in the default configuration; data-integrity-alg is not required.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

  • CWE-190 Integer Overflow or Wraparound

Affected Products

ProductVersions
LinuxLinux
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before bca33f5442c3094511719d9db792ce3165d87e76Affected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before 741a682535deffe9ab7e5c89caf83571efbc9dd9Affected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before f14e87d7b166490bceb9603b39310e51595d05b9Affected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before f16866c62656865854106b79bcf6e4ca97a51a92Affected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before 5f59a8142000f0b8f75c432209ead73c424a745dAffected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before 38cc4867540ae8beedfe41a1a1a6ed37052c77d6Affected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before 648d4317326e6aa3f8c05cbf0fd14cc2eba6ca99Affected
  • b411b3637fa71fce9cf2acf0639009500f5892fe to before bd910a7660d280595ef94cb6d193951d855d330fAffected
LinuxLinux
  • 2.6.33Affected
  • before 2.6.33Not affected
  • 5.10.261 through 5.10.*Not affected
  • 5.15.212 through 5.15.*Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.