In the Linux kernel, the following vulnerability has been resolved:
nilfs2: fix data corruption in dsync block recovery for small block sizes
The helper function nilfsrecoverycopyblock() of nilfsrecoverydsyncblocks(), which recovers data from logs created by data sync writes during a mount after an unclean shutdown, incorrectly calculates the on-page offset when copying repair data to the file's page cache. In environments where the block size is smaller than the page size, this flaw can cause data corruption and leak uninitialized memory bytes during the recovery process.
Fix these issues by correcting this byte offset calculation on the page.
[
{
"signature_type": "Function",
"id": "CVE-2024-26697-0cb84f07",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2e1480538ef60bfee5473dfe02b1ecbaf1a4aa0d",
"signature_version": "v1",
"digest": {
"function_hash": "277451315064466252865449447578631182366",
"length": 1330.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-17cdcd4c",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c9c68d64fd3284f7097ed6ae057c8441f39fcd3",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-23253e02",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5278c3eb6bf5896417572b52adb6be9d26e92f65",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-3155d3bb",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67b8bcbaed4777871bb0dcc888fb02a614a98ab1",
"signature_version": "v1",
"digest": {
"function_hash": "277451315064466252865449447578631182366",
"length": 1330.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-371cb171",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2e1480538ef60bfee5473dfe02b1ecbaf1a4aa0d",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-5a49a2ed",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5278c3eb6bf5896417572b52adb6be9d26e92f65",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-64d2748b",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2000016bab499074e6248ea85aeea7dd762355d9",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-7573c903",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@364a66be2abdcd4fd426ffa44d9b8f40aafb3caa",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-770a6637",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@364a66be2abdcd4fd426ffa44d9b8f40aafb3caa",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-82055b7d",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@120f7fa2008e3bd8b7680b4ab5df942decf60fd5",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-837e783c",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2000016bab499074e6248ea85aeea7dd762355d9",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-94d1dd32",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6efe6dbaaf504f5b3f8a5c3f711fe54e7dda0ba",
"signature_version": "v1",
"digest": {
"function_hash": "69698705434481966357130987034256915981",
"length": 1349.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-9f0a87df",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67b8bcbaed4777871bb0dcc888fb02a614a98ab1",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-9f238430",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@364a66be2abdcd4fd426ffa44d9b8f40aafb3caa",
"signature_version": "v1",
"digest": {
"function_hash": "76634747622983803606423743837203698285",
"length": 1334.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-a43a997b",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5278c3eb6bf5896417572b52adb6be9d26e92f65",
"signature_version": "v1",
"digest": {
"function_hash": "69698705434481966357130987034256915981",
"length": 1349.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-a469bd8e",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@120f7fa2008e3bd8b7680b4ab5df942decf60fd5",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-a8b65bb3",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6efe6dbaaf504f5b3f8a5c3f711fe54e7dda0ba",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-b33e6af2",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c9c68d64fd3284f7097ed6ae057c8441f39fcd3",
"signature_version": "v1",
"digest": {
"function_hash": "277451315064466252865449447578631182366",
"length": 1330.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-b9438678",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2e1480538ef60bfee5473dfe02b1ecbaf1a4aa0d",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-bcc59fb1",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67b8bcbaed4777871bb0dcc888fb02a614a98ab1",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-c0b53903",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@120f7fa2008e3bd8b7680b4ab5df942decf60fd5",
"signature_version": "v1",
"digest": {
"function_hash": "76634747622983803606423743837203698285",
"length": 1334.0
},
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-26697-ead292b8",
"target": {
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9c9c68d64fd3284f7097ed6ae057c8441f39fcd3",
"signature_version": "v1",
"digest": {
"line_hashes": [
"234558522722711795552685416358159771854",
"44521046162252162823189718839152951052",
"198698627922974764370960801163841977553",
"142240434856750088348701653363364943412",
"312647227227618355997317705455917141481",
"252796433677635882878214232942848201683",
"12724393863162382287199683063219025876",
"795766660637496827919188066251996744",
"163679396220228828052525988566861316596",
"196866958314691914843841248038361379481",
"62227026941090949015147702048243225530",
"162911886357997184165795003111101472925",
"272693664365362133934864633037248553531",
"103824934742085534609737926829969088623"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-f44b18af",
"target": {
"function": "nilfs_recovery_copy_block",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6efe6dbaaf504f5b3f8a5c3f711fe54e7dda0ba",
"signature_version": "v1",
"digest": {
"function_hash": "202943239096253716086412879608942065148",
"length": 371.0
},
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-26697-f82be72e",
"target": {
"function": "nilfs_recover_dsync_blocks",
"file": "fs/nilfs2/recovery.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2000016bab499074e6248ea85aeea7dd762355d9",
"signature_version": "v1",
"digest": {
"function_hash": "277451315064466252865449447578631182366",
"length": 1330.0
},
"deprecated": false
}
]