In the Linux kernel, the following vulnerability has been resolved:
erofs: handle NONHEAD !delta[1] lclusters gracefully
syzbot reported a WARNING in iomapiterdone: iomapfiemap+0x73b/0x9b0 fs/iomap/fiemap.c:80 ioctlfiemap fs/ioctl.c:220 [inline]
Generally, NONHEAD lclusters won't have delta[1]==0, except for crafted images and filesystems created by pre-1.0 mkfs versions.
Previously, it would immediately bail out if delta[1]==0, which led to inadequate decompressed lengths (thus FIEMAP is impacted). Treat it as delta[1]=1 to work around these legacy mkfs versions.
lclusterbits > 14 is illegal for compact indexes, error out too.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/53xxx/CVE-2024-53234.json",
"cna_assigner": "Linux"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-53234.json"
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@daaf68fef4b2ff97928227630021d37b27a96655",
"id": "CVE-2024-53234-02bf311a",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_get_extent_decompressedlen"
},
"digest": {
"function_hash": "127280703550129253872610272523434025583",
"length": 1060.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2024-53234-0de909ea",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75a0a6dde803e7a3af700da8da9a361b49f69eba",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_get_extent_decompressedlen"
},
"digest": {
"function_hash": "127280703550129253872610272523434025583",
"length": 1060.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bc8061ffc733a0a246b8689b2d32a3e9204f43c",
"id": "CVE-2024-53234-1763bb24",
"target": {
"file": "fs/erofs/zmap.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"312859738119281828281846642439705777026",
"93380941216921009183047869385150003578",
"113725563917892664277085874873494899933",
"325790110494056976234505903822041534800",
"224572249586780695677681752697358353076",
"17659419641071151174922199667119133189",
"95396501913849408681956006595288083670",
"212627021118267615388822596342932712793",
"120239532212945813843319969993151179624",
"7475514162582322386211331001710707520",
"111798902722029789433968869165454608061",
"99335869134488864029951991771525657460",
"123073466896744231606940948793295667401",
"297831560176828270668932371025242086905",
"327908560125971343362659370685926909324",
"325784103894140676915165227374845940856",
"190217564810673620439957817578018287987",
"154221978293422516076836749990985169013",
"144067291494176148672532557874029509120",
"153830162007413039314253314443053337565",
"180917487981957818666072309318922720174",
"67585435596211427803978557991623737645"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line"
},
{
"id": "CVE-2024-53234-264318aa",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75a0a6dde803e7a3af700da8da9a361b49f69eba",
"target": {
"file": "fs/erofs/zmap.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"312859738119281828281846642439705777026",
"93380941216921009183047869385150003578",
"113725563917892664277085874873494899933",
"325790110494056976234505903822041534800",
"224572249586780695677681752697358353076",
"17659419641071151174922199667119133189",
"95396501913849408681956006595288083670",
"212627021118267615388822596342932712793",
"120239532212945813843319969993151179624",
"7475514162582322386211331001710707520",
"111798902722029789433968869165454608061",
"99335869134488864029951991771525657460",
"123073466896744231606940948793295667401",
"297831560176828270668932371025242086905",
"327908560125971343362659370685926909324",
"325784103894140676915165227374845940856",
"190217564810673620439957817578018287987",
"154221978293422516076836749990985169013",
"144067291494176148672532557874029509120",
"153830162007413039314253314443053337565",
"180917487981957818666072309318922720174",
"67585435596211427803978557991623737645"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@480c6c7b55aeacac800bc2a0d321ff53273045e5",
"id": "CVE-2024-53234-2c63487c",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_get_extent_decompressedlen"
},
"digest": {
"function_hash": "127280703550129253872610272523434025583",
"length": 1060.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2024-53234-339e86c7",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bc8061ffc733a0a246b8689b2d32a3e9204f43c",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_get_extent_decompressedlen"
},
"digest": {
"function_hash": "127280703550129253872610272523434025583",
"length": 1060.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2024-53234-80691fc2",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f466641debcbea8bdf78d1b63a6270aadf9301bf",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_get_extent_decompressedlen"
},
"digest": {
"function_hash": "127280703550129253872610272523434025583",
"length": 1060.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2024-53234-862f8b63",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75a0a6dde803e7a3af700da8da9a361b49f69eba",
"target": {
"file": "fs/erofs/zmap.c",
"function": "compacted_load_cluster_from_disk"
},
"digest": {
"function_hash": "132176937893931930210180424636375067487",
"length": 1095.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@480c6c7b55aeacac800bc2a0d321ff53273045e5",
"id": "CVE-2024-53234-86a0cdf9",
"target": {
"file": "fs/erofs/zmap.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"312859738119281828281846642439705777026",
"93380941216921009183047869385150003578",
"113725563917892664277085874873494899933",
"325790110494056976234505903822041534800",
"224572249586780695677681752697358353076",
"17659419641071151174922199667119133189",
"95396501913849408681956006595288083670",
"212627021118267615388822596342932712793",
"120239532212945813843319969993151179624",
"7475514162582322386211331001710707520",
"111798902722029789433968869165454608061",
"99335869134488864029951991771525657460",
"123073466896744231606940948793295667401",
"297831560176828270668932371025242086905",
"327908560125971343362659370685926909324",
"325784103894140676915165227374845940856",
"190217564810673620439957817578018287987",
"154221978293422516076836749990985169013",
"144067291494176148672532557874029509120",
"153830162007413039314253314443053337565",
"180917487981957818666072309318922720174",
"67585435596211427803978557991623737645"
]
},
"deprecated": false,
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f466641debcbea8bdf78d1b63a6270aadf9301bf",
"id": "CVE-2024-53234-90949100",
"target": {
"file": "fs/erofs/zmap.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"312859738119281828281846642439705777026",
"93380941216921009183047869385150003578",
"113725563917892664277085874873494899933",
"325790110494056976234505903822041534800",
"224572249586780695677681752697358353076",
"17659419641071151174922199667119133189",
"95396501913849408681956006595288083670",
"212627021118267615388822596342932712793",
"120239532212945813843319969993151179624",
"7475514162582322386211331001710707520",
"111798902722029789433968869165454608061",
"99335869134488864029951991771525657460",
"123073466896744231606940948793295667401",
"297831560176828270668932371025242086905",
"327908560125971343362659370685926909324",
"325784103894140676915165227374845940856",
"190217564810673620439957817578018287987",
"154221978293422516076836749990985169013",
"144067291494176148672532557874029509120",
"153830162007413039314253314443053337565",
"180917487981957818666072309318922720174",
"67585435596211427803978557991623737645"
]
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line"
},
{
"id": "CVE-2024-53234-9ca4c4f9",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@daaf68fef4b2ff97928227630021d37b27a96655",
"target": {
"file": "fs/erofs/zmap.c"
},
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"312859738119281828281846642439705777026",
"93380941216921009183047869385150003578",
"113725563917892664277085874873494899933",
"325790110494056976234505903822041534800",
"224572249586780695677681752697358353076",
"17659419641071151174922199667119133189",
"95396501913849408681956006595288083670",
"212627021118267615388822596342932712793",
"120239532212945813843319969993151179624",
"7475514162582322386211331001710707520",
"111798902722029789433968869165454608061",
"99335869134488864029951991771525657460",
"123073466896744231606940948793295667401",
"297831560176828270668932371025242086905",
"327908560125971343362659370685926909324",
"325784103894140676915165227374845940856",
"190217564810673620439957817578018287987",
"154221978293422516076836749990985169013",
"144067291494176148672532557874029509120",
"153830162007413039314253314443053337565",
"180917487981957818666072309318922720174",
"67585435596211427803978557991623737645"
]
},
"deprecated": false,
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@480c6c7b55aeacac800bc2a0d321ff53273045e5",
"id": "CVE-2024-53234-9e001bb0",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_load_compact_lcluster"
},
"signature_version": "v1",
"digest": {
"function_hash": "89296086559115856987110995973337511710",
"length": 1059.0
},
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2024-53234-da779fb5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@daaf68fef4b2ff97928227630021d37b27a96655",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_load_compact_lcluster"
},
"digest": {
"function_hash": "12555235564433580825757096145889681214",
"length": 898.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bc8061ffc733a0a246b8689b2d32a3e9204f43c",
"id": "CVE-2024-53234-e8fc9722",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_load_compact_lcluster"
},
"signature_version": "v1",
"digest": {
"function_hash": "12555235564433580825757096145889681214",
"length": 898.0
},
"deprecated": false,
"signature_type": "Function"
},
{
"id": "CVE-2024-53234-ee1ccfdf",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f466641debcbea8bdf78d1b63a6270aadf9301bf",
"target": {
"file": "fs/erofs/zmap.c",
"function": "z_erofs_load_compact_lcluster"
},
"digest": {
"function_hash": "223995974453675273102430783281966188870",
"length": 1088.0
},
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
}
]