{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-57895",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-01-11T14:45:42.029Z",
        "datePublished": "2025-01-15T13:05:47.632Z",
        "dateUpdated": "2026-08-05T11:46:48.731Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T11:46:48.731Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: set ATTR_CTIME flags when setting mtime\n\nDavid reported that the new warning from setattr_copy_mgtime is coming\nlike the following.\n\n[  113.215316] ------------[ cut here ]------------\n[  113.215974] WARNING: CPU: 1 PID: 31 at fs/attr.c:300 setattr_copy+0x1ee/0x200\n[  113.219192] CPU: 1 UID: 0 PID: 31 Comm: kworker/1:1 Not tainted 6.13.0-rc1+ #234\n[  113.220127] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-3-gd478f380-rebuilt.opensuse.org 04/01/2014\n[  113.221530] Workqueue: ksmbd-io handle_ksmbd_work [ksmbd]\n[  113.222220] RIP: 0010:setattr_copy+0x1ee/0x200\n[  113.222833] Code: 24 28 49 8b 44 24 30 48 89 53 58 89 43 6c 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc 48 89 df e8 77 d6 ff ff e9 cd fe ff ff <0f> 0b e9 be fe ff ff 66 0\n[  113.225110] RSP: 0018:ffffaf218010fb68 EFLAGS: 00010202\n[  113.225765] RAX: 0000000000000120 RBX: ffffa446815f8568 RCX: 0000000000000003\n[  113.226667] RDX: ffffaf218010fd38 RSI: ffffa446815f8568 RDI: ffffffff94eb03a0\n[  113.227531] RBP: ffffaf218010fb90 R08: 0000001a251e217d R09: 00000000675259fa\n[  113.228426] R10: 0000000002ba8a6d R11: ffffa4468196c7a8 R12: ffffaf218010fd38\n[  113.229304] R13: 0000000000000120 R14: ffffffff94eb03a0 R15: 0000000000000000\n[  113.230210] FS:  0000000000000000(0000) GS:ffffa44739d00000(0000) knlGS:0000000000000000\n[  113.231215] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[  113.232055] CR2: 00007efe0053d27e CR3: 000000000331a000 CR4: 00000000000006b0\n[  113.232926] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  113.233812] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\n[  113.234797] Call Trace:\n[  113.235116]  <TASK>\n[  113.235393]  ? __warn+0x73/0xd0\n[  113.235802]  ? setattr_copy+0x1ee/0x200\n[  113.236299]  ? report_bug+0xf3/0x1e0\n[  113.236757]  ? handle_bug+0x4d/0x90\n[  113.237202]  ? exc_invalid_op+0x13/0x60\n[  113.237689]  ? asm_exc_invalid_op+0x16/0x20\n[  113.238185]  ? setattr_copy+0x1ee/0x200\n[  113.238692]  btrfs_setattr+0x80/0x820 [btrfs]\n[  113.239285]  ? get_stack_info_noinstr+0x12/0xf0\n[  113.239857]  ? __module_address+0x22/0xa0\n[  113.240368]  ? handle_ksmbd_work+0x6e/0x460 [ksmbd]\n[  113.240993]  ? __module_text_address+0x9/0x50\n[  113.241545]  ? __module_address+0x22/0xa0\n[  113.242033]  ? unwind_next_frame+0x10e/0x920\n[  113.242600]  ? __pfx_stack_trace_consume_entry+0x10/0x10\n[  113.243268]  notify_change+0x2c2/0x4e0\n[  113.243746]  ? stack_depot_save_flags+0x27/0x730\n[  113.244339]  ? set_file_basic_info+0x130/0x2b0 [ksmbd]\n[  113.244993]  set_file_basic_info+0x130/0x2b0 [ksmbd]\n[  113.245613]  ? process_scheduled_works+0xbe/0x310\n[  113.246181]  ? worker_thread+0x100/0x240\n[  113.246696]  ? kthread+0xc8/0x100\n[  113.247126]  ? ret_from_fork+0x2b/0x40\n[  113.247606]  ? ret_from_fork_asm+0x1a/0x30\n[  113.248132]  smb2_set_info+0x63f/0xa70 [ksmbd]\n\nksmbd is trying to set the atime and mtime via notify_change without also\nsetting the ctime. so This patch add ATTR_CTIME flags when setting mtime\nto avoid a warning."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H",
                        "baseScore": 7.1,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:N - ksmbd is the in-kernel SMB server listening on TCP/445, and the faulty `iattr` is built directly from the `LastWriteTime`/`ChangeTime` fields of a client-supplied SMB2_SET_INFO FileBasicInformation request. No local access to the target is needed.\nAC:L - Any SMB2_SET_INFO with a non-zero LastWriteTime deterministically strips ATTR_CTIME while leaving ATTR_MTIME set, hitting the WARN on the first attempt — this is what an ordinary `touch -m` or file copy over the share does. The only precondition is an mgtime filesystem, which is the default for btrfs, ext4 and xfs, i.e. essentially all ksmbd exports.\nPR:L - The command is dispatched only after `check_user_session()` and `get_ksmbd_tcon()` succeed, and `smb2_set_info()` additionally requires a writable tree connect plus a handle opened with FILE_WRITE_ATTRIBUTES, so the attacker needs an established SMB session. Any ordinary share user — including a mapped guest account on the many NAS/embedded deployments that enable one — qualifies; no administrative rights are involved.\nUI:N - The attacker performs every step itself — connect, session setup, tree connect, SMB2_CREATE, SMB2_SET_INFO. No action by a local user or administrator is required.\nS:U - The warning and the resulting panic are confined to the kernel of the machine running ksmbd; no VM, container, or IOMMU boundary is crossed and no other security authority is affected.\nC:N - There is no out-of-bounds or uninitialized read — `attrs.ia_ctime` is always initialized before use and the bug is a pure flag-consistency assertion. The WARN splat goes only to the kernel log, which the remote SMB client cannot read, and nothing extra is returned in the SMB response.\nI:L - With ATTR_CTIME stripped, `setattr_copy_mgtime()` takes the else branch and leaves ctime untouched while applying the attacker's ATTR_MTIME_SET value, so a client can rewrite a file's mtime without ctime advancing — defeating the ctime-based change detection that backup, NFS re-export cache coherency, and file-integrity monitors rely on. The effect is bounded to inode timestamp metadata; there is no arbitrary write or control-flow primitive.\nA:H - The bug triggers `WARN_ON_ONCE()` at fs/attr.c:300 in the ksmbd-io workqueue context, which under the widely deployed `panic_on_warn=1` setting (hardened cloud, Android, embedded and automotive images) turns the first request into an immediate kernel panic and full loss of the file server. Even without panic_on_warn it is an unconditional kernel oops-class splat driven by a remote peer."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "fs/smb/server/smb2pdu.c"
                    ],
                    "versions": [
                        {
                            "version": "0626e6641f6b467447c81dd7678a69c66f7746cf",
                            "lessThan": "c7ab587bd33ce45e2aa6b6d2d36be7ef0bd16614",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "0626e6641f6b467447c81dd7678a69c66f7746cf",
                            "lessThan": "1d7ee876b8b96efc14e177a7fe8d45ac25d68849",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "0626e6641f6b467447c81dd7678a69c66f7746cf",
                            "lessThan": "52cefcff6a4a814f4f8e357422fcfb71fd2ebf75",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "0626e6641f6b467447c81dd7678a69c66f7746cf",
                            "lessThan": "21e46a79bbe6c4e1aa73b3ed998130f2ff07b128",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "fs/smb/server/smb2pdu.c"
                    ],
                    "versions": [
                        {
                            "version": "5.15",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.15",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.164",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.70",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.9",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.13",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "6.1.164"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "6.6.70"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "6.12.9"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.15",
                                    "versionEndExcluding": "6.13"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/c7ab587bd33ce45e2aa6b6d2d36be7ef0bd16614"
                },
                {
                    "url": "https://git.kernel.org/stable/c/1d7ee876b8b96efc14e177a7fe8d45ac25d68849"
                },
                {
                    "url": "https://git.kernel.org/stable/c/52cefcff6a4a814f4f8e357422fcfb71fd2ebf75"
                },
                {
                    "url": "https://git.kernel.org/stable/c/21e46a79bbe6c4e1aa73b3ed998130f2ff07b128"
                }
            ],
            "title": "ksmbd: set ATTR_CTIME flags when setting mtime",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "cvssV3_1": {
                            "scope": "UNCHANGED",
                            "version": "3.1",
                            "baseScore": 5.5,
                            "attackVector": "LOCAL",
                            "baseSeverity": "MEDIUM",
                            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                            "integrityImpact": "NONE",
                            "userInteraction": "NONE",
                            "attackComplexity": "LOW",
                            "availabilityImpact": "HIGH",
                            "privilegesRequired": "LOW",
                            "confidentialityImpact": "NONE"
                        }
                    },
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "id": "CVE-2024-57895",
                                "role": "CISA Coordinator",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "version": "2.0.3",
                                "timestamp": "2025-10-01T19:54:39.889229Z"
                            }
                        }
                    }
                ],
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "lang": "en",
                                "type": "CWE",
                                "description": "CWE-noinfo Not enough information"
                            }
                        ]
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2025-10-01T19:57:19.246Z"
                }
            }
        ]
    }
}