{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-57923",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-01-19T11:50:08.376Z",
        "datePublished": "2025-01-19T11:52:41.798Z",
        "dateUpdated": "2026-05-11T21:00:39.423Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-05-11T21:00:39.423Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: zlib: fix avail_in bytes for s390 zlib HW compression path\n\nSince the input data length passed to zlib_compress_folios() can be\narbitrary, always setting strm.avail_in to a multiple of PAGE_SIZE may\ncause read-in bytes to exceed the input range. Currently this triggers\nan assert in btrfs_compress_folios() on the debug kernel (see below).\nFix strm.avail_in calculation for S390 hardware acceleration path.\n\n  assertion failed: *total_in <= orig_len, in fs/btrfs/compression.c:1041\n  ------------[ cut here ]------------\n  kernel BUG at fs/btrfs/compression.c:1041!\n  monitor event: 0040 ilc:2 [#1] PREEMPT SMP\n  CPU: 16 UID: 0 PID: 325 Comm: kworker/u273:3 Not tainted 6.13.0-20241204.rc1.git6.fae3b21430ca.300.fc41.s390x+debug #1\n  Hardware name: IBM 3931 A01 703 (z/VM 7.4.0)\n  Workqueue: btrfs-delalloc btrfs_work_helper\n  Krnl PSW : 0704d00180000000 0000021761df6538 (btrfs_compress_folios+0x198/0x1a0)\n             R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 RI:0 EA:3\n  Krnl GPRS: 0000000080000000 0000000000000001 0000000000000047 0000000000000000\n             0000000000000006 ffffff01757bb000 000001976232fcc0 000000000000130c\n             000001976232fcd0 000001976232fcc8 00000118ff4a0e30 0000000000000001\n             00000111821ab400 0000011100000000 0000021761df6534 000001976232fb58\n  Krnl Code: 0000021761df6528: c020006f5ef4        larl    %r2,0000021762be2310\n             0000021761df652e: c0e5ffbd09d5        brasl   %r14,00000217615978d8\n            #0000021761df6534: af000000            mc      0,0\n            >0000021761df6538: 0707                bcr     0,%r7\n             0000021761df653a: 0707                bcr     0,%r7\n             0000021761df653c: 0707                bcr     0,%r7\n             0000021761df653e: 0707                bcr     0,%r7\n             0000021761df6540: c004004bb7ec        brcl    0,000002176276d518\n  Call Trace:\n   [<0000021761df6538>] btrfs_compress_folios+0x198/0x1a0\n  ([<0000021761df6534>] btrfs_compress_folios+0x194/0x1a0)\n   [<0000021761d97788>] compress_file_range+0x3b8/0x6d0\n   [<0000021761dcee7c>] btrfs_work_helper+0x10c/0x160\n   [<0000021761645760>] process_one_work+0x2b0/0x5d0\n   [<000002176164637e>] worker_thread+0x20e/0x3e0\n   [<000002176165221a>] kthread+0x15a/0x170\n   [<00000217615b859c>] __ret_from_fork+0x3c/0x60\n   [<00000217626e72d2>] ret_from_fork+0xa/0x38\n  INFO: lockdep is turned off.\n  Last Breaking-Event-Address:\n   [<0000021761597924>] _printk+0x4c/0x58\n  Kernel panic - not syncing: Fatal exception: panic_on_oops"
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "fs/btrfs/zlib.c"
                    ],
                    "versions": [
                        {
                            "version": "fd1e75d0105d2289e24b6d63cee49e6f7952c8bf",
                            "lessThan": "25adbb08aeadcff883ab801df99fd20fefbb6ca4",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "fd1e75d0105d2289e24b6d63cee49e6f7952c8bf",
                            "lessThan": "0ee4736c003daded513de0ff112d4a1e9c85bbab",
                            "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/btrfs/zlib.c"
                    ],
                    "versions": [
                        {
                            "version": "6.12",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.12",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.10",
                            "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": "6.12",
                                    "versionEndExcluding": "6.12.10"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.12",
                                    "versionEndExcluding": "6.13"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/25adbb08aeadcff883ab801df99fd20fefbb6ca4"
                },
                {
                    "url": "https://git.kernel.org/stable/c/0ee4736c003daded513de0ff112d4a1e9c85bbab"
                }
            ],
            "title": "btrfs: zlib: fix avail_in bytes for s390 zlib HW compression path",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}