Linux Kernel up to 6.9.7 ocfs2_dio_end_io_write denial of service

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
5.5$0-$5k0.00

Summaryinfo

A vulnerability described as critical has been identified in Linux Kernel up to 5.10.220/5.15.161/6.1.96/6.6.36/6.9.7. This impacts the function ocfs2_dio_end_io_write. Such manipulation leads to denial of service. This vulnerability is uniquely identified as CVE-2024-42077. No exploit exists. Upgrading the affected component is recommended.

Detailsinfo

A vulnerability was found in Linux Kernel up to 5.10.220/5.15.161/6.1.96/6.6.36/6.9.7 and classified as critical. Affected by this issue is the function ocfs2_dio_end_io_write. The manipulation with an unknown input leads to a denial of service vulnerability. Using CWE to declare the problem leads to CWE-404. The product does not release or incorrectly releases a resource before it is made available for re-use. Impacted is availability. CVE summarizes:

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix DIO failure due to insufficient transaction credits The code in ocfs2_dio_end_io_write() estimates number of necessary transaction credits using ocfs2_calc_extend_credits(). This however does not take into account that the IO could be arbitrarily large and can contain arbitrary number of extents. Extent tree manipulations do often extend the current transaction but not in all of the cases. For example if we have only single block extents in the tree, ocfs2_mark_extent_written() will end up calling ocfs2_replace_extent_rec() all the time and we will never extend the current transaction and eventually exhaust all the transaction credits if the IO contains many single block extents. Once that happens a WARN_ON(jbd2_handle_buffer_credits(handle) <= 0) is triggered in jbd2_journal_dirty_metadata() and subsequently OCFS2 aborts in response to this error. This was actually triggered by one of our customers on a heavily fragmented OCFS2 filesystem. To fix the issue make sure the transaction always has enough credits for one extent insert before each call of ocfs2_mark_extent_written(). Heming Zhao said: ------ PANIC: "Kernel panic - not syncing: OCFS2: (device dm-1): panic forced after error" PID: xxx TASK: xxxx CPU: 5 COMMAND: "SubmitThread-CA" #0 machine_kexec at ffffffff8c069932 #1 __crash_kexec at ffffffff8c1338fa #2 panic at ffffffff8c1d69b9 #3 ocfs2_handle_error at ffffffffc0c86c0c [ocfs2] #4 __ocfs2_abort at ffffffffc0c88387 [ocfs2] #5 ocfs2_journal_dirty at ffffffffc0c51e98 [ocfs2] #6 ocfs2_split_extent at ffffffffc0c27ea3 [ocfs2] #7 ocfs2_change_extent_flag at ffffffffc0c28053 [ocfs2] #8 ocfs2_mark_extent_written at ffffffffc0c28347 [ocfs2] #9 ocfs2_dio_end_io_write at ffffffffc0c2bef9 [ocfs2] #10 ocfs2_dio_end_io at ffffffffc0c2c0f5 [ocfs2] #11 dio_complete at ffffffff8c2b9fa7 #12 do_blockdev_direct_IO at ffffffff8c2bc09f #13 ocfs2_direct_IO at ffffffffc0c2b653 [ocfs2] #14 generic_file_direct_write at ffffffff8c1dcf14 #15 __generic_file_write_iter at ffffffff8c1dd07b #16 ocfs2_file_write_iter at ffffffffc0c49f1f [ocfs2] #17 aio_write at ffffffff8c2cc72e #18 kmem_cache_alloc at ffffffff8c248dde #19 do_io_submit at ffffffff8c2ccada #20 do_syscall_64 at ffffffff8c004984 #21 entry_SYSCALL_64_after_hwframe at ffffffff8c8000ba

The advisory is shared for download at git.kernel.org. This vulnerability is handled as CVE-2024-42077 since 07/29/2024. There are known technical details, but no exploit is available.

The vulnerability scanner Nessus provides a plugin with the ID 207738 (Ubuntu 20.04 LTS : Linux kernel vulnerabilities (USN-7009-2)), which helps to determine the existence of the flaw in a target environment.

Upgrading to version 5.10.221, 5.15.162, 6.1.97, 6.6.37 or 6.9.8 eliminates this vulnerability. Applying the patch a68b896aa56e/320273b5649b/9ea2d1c67897/c05ffb693bfb/331d1079d582/be346c1a6eeb is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.

The vulnerability is also documented in the databases at Tenable (207738) and CERT Bund (WID-SEC-2024-1722). Once again VulDB remains the best source for vulnerability data.

Affected

  • Debian Linux
  • Amazon Linux 2
  • Red Hat Enterprise Linux
  • Ubuntu Linux
  • SUSE Linux
  • IBM InfoSphere Guardium
  • Oracle Linux
  • NetApp FAS
  • NetApp ActiveIQ Unified Manager
  • Siemens SIMATIC S7
  • Oracle VM
  • IBM Security Guardium
  • RESF Rocky Linux
  • Broadcom Brocade SANnav
  • Dell PowerScale
  • Open Source Linux Kernel
  • IBM QRadar SIEM
  • Dell integrated Dell Remote Access Controller
  • Dell Avamar
  • IBM Storage Scale
  • IBM Spectrum Protect Plus
  • Juniper Junos Space
  • IBM Storage Scale System
  • SolarWinds Security Event Manager
  • Dell PowerProtect Data Domain
  • Dell PowerProtect Data Domain Management Center
  • Dell PowerProtect Data Domain OS

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 5.6
VulDB Meta Temp Score: 5.5

VulDB Base Score: 5.7
VulDB Temp Score: 5.5
VulDB Vector: 🔍
VulDB Reliability: 🔍

NVD Base Score: 5.5
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

Exploitinginfo

Class: Denial of service
CWE: CWE-404
CAPEC: 🔍
ATT&CK: 🔍

Physical: Partially
Local: Yes
Remote: Partially

Availability: 🔍
Status: Not defined

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 207738
Nessus Name: Ubuntu 20.04 LTS : Linux kernel vulnerabilities (USN-7009-2)

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

0-Day Time: 🔍

Upgrade: Kernel 5.10.221/5.15.162/6.1.97/6.6.37/6.9.8
Patch: a68b896aa56e/320273b5649b/9ea2d1c67897/c05ffb693bfb/331d1079d582/be346c1a6eeb

Timelineinfo

07/29/2024 🔍
07/29/2024 +0 days 🔍
07/29/2024 +0 days 🔍
09/03/2025 +400 days 🔍

Sourcesinfo

Vendor: kernel.org

Advisory: git.kernel.org
Status: Confirmed

CVE: CVE-2024-42077 (🔍)
GCVE (CVE): GCVE-0-2024-42077
GCVE (VulDB): GCVE-100-272732
CERT Bund: WID-SEC-2024-1722 - Linux Kernel: Mehrere Schwachstellen erm&ouml;glichen nicht spezifizierten Angriff

Entryinfo

Created: 07/29/2024 19:10
Updated: 09/03/2025 01:26
Changes: 07/29/2024 19:10 (58), 07/31/2024 00:09 (11), 09/30/2024 03:42 (3), 07/15/2025 22:00 (7), 07/19/2025 18:17 (1), 09/03/2025 01:26 (1)
Complete: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!