CVE-2026-53043

ocfs2/dlm: validate qr_numregions in dlm_match_regions()

State
Published
Severity
9.1 Critical
Published
Jun 24, 2026
Updated
Aug 5, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

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

ocfs2/dlm: validate qr_numregions in dlm_match_regions()

Patch series "ocfs2/dlm: fix two bugs in dlm_match_regions()".

In dlm_match_regions(), the qr_numregions field from a DLM_QUERY_REGION network message is used to drive loops over the qr_regions buffer without sufficient validation. This series fixes two issues:

- Patch 1 adds a bounds check to reject messages where qr_numregions exceeds O2NM_MAX_REGIONS. The o2net layer only validates message byte length; it does not constrain field values, so a crafted message can set qr_numregions up to 255 and trigger out-of-bounds reads past the 1024-byte qr_regions buffer.

- Patch 2 fixes an off-by-one in the local-vs-remote comparison loop, which uses '<=' instead of '<', reading one entry past the valid range even when qr_numregions is within bounds.

This patch (of 2):

The qr_numregions field from a DLM_QUERY_REGION network message is used directly as loop bounds in dlm_match_regions() without checking against O2NM_MAX_REGIONS. Since qr_regions is sized for at most O2NM_MAX_REGIONS (32) entries, a crafted message with qr_numregions > 32 causes out-of-bounds reads past the qr_regions buffer.

Add a bounds check for qr_numregions before entering the loops.

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ea2034416b54700e30371f2ad6517cbb94674083 to before d3d5efade0c79dac1cac98c0cb1115432f804439Affected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before f69551139caf6d24242a0ad049ee46b264e3aee0Affected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before 1f8b91275912cd428289c1fb424bebd7ff5302bdAffected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before f37de46149db49abd2b24f4f0c5a88cf4dfb5f47Affected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before 6c6e8fc3c007319981647b410c29bb5775048551Affected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before 3f474c33ebc2e2ca3fcb587d7de4375348f13373Affected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before 3c2d0de23ae4be22b6c18e8f0915be74d3b5fb21Affected
  • ea2034416b54700e30371f2ad6517cbb94674083 to before 7ab3fbb01bc6d79091bc375e5235d360cd9b78beAffected
LinuxLinux
  • 2.6.37Affected
  • before 2.6.37Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.141 through 6.6.*Not affected
  • 6.12.91 through 6.12.*Not affected
  • 6.18.33 through 6.18.*Not affected
  • 7.0.10 through 7.0.*Not affected
  • 7.1 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.