ocfs2/dlm: validate qr_numregions in dlm_match_regions() (Linux Linux)

CVE-2026-53043
CRITICAL 9.1

At a glance

Source
NVD
EPSS
EPSS 0.51 % · percentile 44 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Analyzed

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.

Weaknesses (CWE)

  • CWE-787 — Out-of-bounds Write

References

Scores

VersionScoreVectorScored by
CVSS 3.1CRITICAL 9.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HLinux
CVSS 3.1CRITICAL 9.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected ea2034416b54700e30371f2ad6517cbb94674083 < d3d5efade0c79dac1cac98c0cb1115432f804439 ; affected ea2034416b54700e30371f2ad6517cbb94674083 < f69551139caf6d24242a0ad049ee46b264e3aee0 ; affected ea2034416b54700e30371f2ad6517cbb94674083 < 1f8b91275912cd428289c1fb424bebd7ff5302bd ; affected ea2034416b54700e30371f2ad6517cbb94674083 < f37de46149db49abd2b24f4f0c5a88cf4dfb5f47 ; affected ea2034416b54700e30371f2ad6517cbb94674083 < 6c6e8fc3c007319981647b410c29bb5775048551 ; affected ea2034416b54700e30371f2ad6517cbb94674083 < 3f474c33ebc2e2ca3fcb587d7de4375348f13373
Linux · Linuxaffected 2.6.37 ; unaffected 0 < 2.6.37 ; unaffected 5.10.258 ≤ 5.10.* ; unaffected 5.15.209 ≤ 5.15.* ; unaffected 6.1.175 ≤ 6.1.* ; unaffected 6.6.141 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD