In the Linux kernel, the following vulnerability has been resolved:
nilfs2: handle inconsistent state in nilfsbtnodecreate_block()
Syzbot reported that a buffer state inconsistency was detected in nilfsbtnodecreate_block(), triggering a kernel bug.
It is not appropriate to treat this inconsistency as a bug; it can occur if the argument block address (the buffer index of the newly created block) is a virtual block number and has been reallocated due to corruption of the bitmap used to manage its allocation state.
So, modify nilfsbtnodecreate_block() and its callers to treat it as a possible filesystem error, rather than triggering a kernel bug.
{ "vanir_signatures": [ { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nilfs2/btnode.c" }, "id": "CVE-2024-42295-11395234", "digest": { "line_hashes": [ "181205457522950132024058536379297150950", "166198294768404561681663132840698394370", "216992606953318104327431823872524018680", "197327632452143849230590052780761701808", "251217959836884637060962906156281060521", "248731985975801469558894528869694460814", "268998218648409289935232854604195596515", "312154227442407405440541640588402120560", "184754630322763216634012939128901979377", "68718775710966849429801332931396096644", "158215864355260092272408619191424382650", "149254854467200596075225452602174163375", "29816190766006888770271659016418089415", "280117384314421260997957535763901521601", "5612613965135850170323141514344749956", "141714201334326556019523792713974136002", "298423687587100860217539455122298969798" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02b87e6334a38c65eef49848d3f1ac422f0b2a44" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btnode.c", "function": "nilfs_btnode_create_block" }, "id": "CVE-2024-42295-3acd1dec", "digest": { "length": 549.0, "function_hash": "218510360147976854134953578570647795757" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@19cce46238ffe3546e44b9c74057103ff8b24c62" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nilfs2/btnode.c" }, "id": "CVE-2024-42295-3fd51b77", "digest": { "line_hashes": [ "181205457522950132024058536379297150950", "166198294768404561681663132840698394370", "216992606953318104327431823872524018680", "197327632452143849230590052780761701808", "251217959836884637060962906156281060521", "248731985975801469558894528869694460814", "268998218648409289935232854604195596515", "312154227442407405440541640588402120560", "234136134808198798630396407739167187671", "89935748905117955510022471667067002665", "183481188712961049632609991924222304464", "180826864289160839459290697970681305381", "51698972617396413882803932874862707242", "280117384314421260997957535763901521601", "5612613965135850170323141514344749956", "141714201334326556019523792713974136002", "298423687587100860217539455122298969798" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4811f7af6090e8f5a398fbdd766f903ef6c0d787" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nilfs2/btnode.c" }, "id": "CVE-2024-42295-40b4438f", "digest": { "line_hashes": [ "181205457522950132024058536379297150950", "166198294768404561681663132840698394370", "216992606953318104327431823872524018680", "197327632452143849230590052780761701808", "251217959836884637060962906156281060521", "248731985975801469558894528869694460814", "268998218648409289935232854604195596515", "312154227442407405440541640588402120560", "184754630322763216634012939128901979377", "68718775710966849429801332931396096644", "158215864355260092272408619191424382650", "149254854467200596075225452602174163375", "72666125698903326779711698102186573221", "280117384314421260997957535763901521601", "5612613965135850170323141514344749956", "141714201334326556019523792713974136002", "298423687587100860217539455122298969798" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@19cce46238ffe3546e44b9c74057103ff8b24c62" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btree.c", "function": "nilfs_btree_get_new_block" }, "id": "CVE-2024-42295-5ac3372f", "digest": { "length": 290.0, "function_hash": "37287249042674998497890547612678696632" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02b87e6334a38c65eef49848d3f1ac422f0b2a44" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btree.c", "function": "nilfs_btree_get_new_block" }, "id": "CVE-2024-42295-5f553936", "digest": { "length": 290.0, "function_hash": "37287249042674998497890547612678696632" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@19cce46238ffe3546e44b9c74057103ff8b24c62" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btree.c", "function": "nilfs_btree_get_new_block" }, "id": "CVE-2024-42295-645f72d2", "digest": { "length": 290.0, "function_hash": "37287249042674998497890547612678696632" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4811f7af6090e8f5a398fbdd766f903ef6c0d787" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nilfs2/btree.c" }, "id": "CVE-2024-42295-7a0dd2bc", "digest": { "line_hashes": [ "222735522993331465994437767153526105194", "297848798408417574933408608768649544219", "134687261290235488289696943177276849026", "277134852213032448183112483785111833016", "273171890200572887176517723622203908761" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@19cce46238ffe3546e44b9c74057103ff8b24c62" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btnode.c", "function": "nilfs_btnode_prepare_change_key" }, "id": "CVE-2024-42295-92b96931", "digest": { "length": 952.0, "function_hash": "119530625607204266731282600943722964795" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02b87e6334a38c65eef49848d3f1ac422f0b2a44" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btnode.c", "function": "nilfs_btnode_prepare_change_key" }, "id": "CVE-2024-42295-931c56c3", "digest": { "length": 1056.0, "function_hash": "281315618421149191119823022333581619618" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@19cce46238ffe3546e44b9c74057103ff8b24c62" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btnode.c", "function": "nilfs_btnode_create_block" }, "id": "CVE-2024-42295-9f49a348", "digest": { "length": 549.0, "function_hash": "218510360147976854134953578570647795757" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02b87e6334a38c65eef49848d3f1ac422f0b2a44" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nilfs2/btree.c" }, "id": "CVE-2024-42295-ac35f5d3", "digest": { "line_hashes": [ "222735522993331465994437767153526105194", "297848798408417574933408608768649544219", "134687261290235488289696943177276849026", "277134852213032448183112483785111833016", "273171890200572887176517723622203908761" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@02b87e6334a38c65eef49848d3f1ac422f0b2a44" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nilfs2/btree.c" }, "id": "CVE-2024-42295-f94e4126", "digest": { "line_hashes": [ "222735522993331465994437767153526105194", "297848798408417574933408608768649544219", "134687261290235488289696943177276849026", "277134852213032448183112483785111833016", "273171890200572887176517723622203908761" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4811f7af6090e8f5a398fbdd766f903ef6c0d787" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btnode.c", "function": "nilfs_btnode_create_block" }, "id": "CVE-2024-42295-fd3771a2", "digest": { "length": 551.0, "function_hash": "153741253116617947391737455883955407588" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4811f7af6090e8f5a398fbdd766f903ef6c0d787" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nilfs2/btnode.c", "function": "nilfs_btnode_prepare_change_key" }, "id": "CVE-2024-42295-fd701e89", "digest": { "length": 954.0, "function_hash": "165824926677027513530624297806867032489" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4811f7af6090e8f5a398fbdd766f903ef6c0d787" } ] }