CVE-2024-43828

Summary

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

ext4: fix infinite loop when replaying fast_commit

When doing fast_commit replay an infinite loop may occur due to an uninitialized extent_status struct. ext4_ext_determine_insert_hole() does not detect the replay and calls ext4_es_find_extent_range(), which will return immediately without initializing the 'es' variable.

Because 'es' contains garbage, an integer overflow may happen causing an infinite loop in this function, easily reproducible using fstest generic/039.

This commit fixes this issue by unconditionally initializing the structure in function ext4_es_find_extent_range().

Thanks to Zhang Yi, for figuring out the real problem!

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 < 5ed0496e383cb6de120e56991385dce70bbb87c1affected
LinuxLinux8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 < 0619f7750f2b178a1309808832ab20d85e0ad121affected
LinuxLinux8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 < 181e63cd595c688194e07332f9944b3a63193de2affected
LinuxLinux8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 < c6e67df64783e99a657ef2b8c834ba2bf54c539caffected
LinuxLinux8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 < 81f819c537d29932e4b9267f02411cbc8b355178affected
LinuxLinux8016e29f4362e285f0f7e38fadc61a5b7bdfdfa2 < 907c3fe532253a6ef4eb9c4d67efb71fab58c706affected
LinuxLinux5.10affected
LinuxLinux0 < 5.10unaffected
LinuxLinux5.10.224 <= 5.10.*unaffected
LinuxLinux5.15.165 <= 5.15.*unaffected
LinuxLinux6.1.103 <= 6.1.*unaffected
LinuxLinux6.6.44 <= 6.6.*unaffected
LinuxLinux6.10.3 <= 6.10.*unaffected
LinuxLinux6.11 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

Additional References

References