CVE-2026-53043
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
W jądrze Linux w systemie plików OCFS2 oraz jego komponencie DLM (Distributed Lock Manager) wykryto podatność polegającą na braku walidacji pola `qr_numregions` w funkcji `dlm_match_regions()`. Atakujący może wysłać spreparowaną wiadomość sieciową DLM_QUERY_REGION z zawyżoną wartością `qr_numregions`, co prowadzi do odczytu poza dozwolonym buforem `qr_regions` (przekroczenie granic pamięci).
Ocena ryzyka
Ryzyko obejmuje potencjalny wyciek wrażliwych danych z pamięci jądra lub destabilizację systemu (panic jądra) w wyniku odczytu poza buforem. Podatność może być wykorzystana zdalnie przez uwierzytelnionego atakującego w klastrze OCFS2.
Rekomendacja
Należy niezwłocznie zastosować łatkę bezpieczeństwa od dystrybutora jądra Linux zawierającą walidację `qr_numregions` względem stałej `O2NM_MAX_REGIONS`. Aktualizacja do wersji jądra zawierającej poprawkę jest wymagana.
Oryginalny opis (angielski, źródło NVD)
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.

