CVE-2024-57923 (GCVE-0-2024-57923)
Vulnerability from cvelistv5
Published
2025-01-19 11:52
Modified
2025-05-04 10:06
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
btrfs: zlib: fix avail_in bytes for s390 zlib HW compression path
Since the input data length passed to zlib_compress_folios() can be
arbitrary, always setting strm.avail_in to a multiple of PAGE_SIZE may
cause read-in bytes to exceed the input range. Currently this triggers
an assert in btrfs_compress_folios() on the debug kernel (see below).
Fix strm.avail_in calculation for S390 hardware acceleration path.
assertion failed: *total_in <= orig_len, in fs/btrfs/compression.c:1041
------------[ cut here ]------------
kernel BUG at fs/btrfs/compression.c:1041!
monitor event: 0040 ilc:2 [#1] PREEMPT SMP
CPU: 16 UID: 0 PID: 325 Comm: kworker/u273:3 Not tainted 6.13.0-20241204.rc1.git6.fae3b21430ca.300.fc41.s390x+debug #1
Hardware name: IBM 3931 A01 703 (z/VM 7.4.0)
Workqueue: btrfs-delalloc btrfs_work_helper
Krnl PSW : 0704d00180000000 0000021761df6538 (btrfs_compress_folios+0x198/0x1a0)
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
Krnl GPRS: 0000000080000000 0000000000000001 0000000000000047 0000000000000000
0000000000000006 ffffff01757bb000 000001976232fcc0 000000000000130c
000001976232fcd0 000001976232fcc8 00000118ff4a0e30 0000000000000001
00000111821ab400 0000011100000000 0000021761df6534 000001976232fb58
Krnl Code: 0000021761df6528: c020006f5ef4 larl %r2,0000021762be2310
0000021761df652e: c0e5ffbd09d5 brasl %r14,00000217615978d8
#0000021761df6534: af000000 mc 0,0
>0000021761df6538: 0707 bcr 0,%r7
0000021761df653a: 0707 bcr 0,%r7
0000021761df653c: 0707 bcr 0,%r7
0000021761df653e: 0707 bcr 0,%r7
0000021761df6540: c004004bb7ec brcl 0,000002176276d518
Call Trace:
[<0000021761df6538>] btrfs_compress_folios+0x198/0x1a0
([<0000021761df6534>] btrfs_compress_folios+0x194/0x1a0)
[<0000021761d97788>] compress_file_range+0x3b8/0x6d0
[<0000021761dcee7c>] btrfs_work_helper+0x10c/0x160
[<0000021761645760>] process_one_work+0x2b0/0x5d0
[<000002176164637e>] worker_thread+0x20e/0x3e0
[<000002176165221a>] kthread+0x15a/0x170
[<00000217615b859c>] __ret_from_fork+0x3c/0x60
[<00000217626e72d2>] ret_from_fork+0xa/0x38
INFO: lockdep is turned off.
Last Breaking-Event-Address:
[<0000021761597924>] _printk+0x4c/0x58
Kernel panic - not syncing: Fatal exception: panic_on_oops
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/btrfs/zlib.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "25adbb08aeadcff883ab801df99fd20fefbb6ca4",
"status": "affected",
"version": "fd1e75d0105d2289e24b6d63cee49e6f7952c8bf",
"versionType": "git"
},
{
"lessThan": "0ee4736c003daded513de0ff112d4a1e9c85bbab",
"status": "affected",
"version": "fd1e75d0105d2289e24b6d63cee49e6f7952c8bf",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/btrfs/zlib.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.12"
},
{
"lessThan": "6.12",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.10",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.13",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.10",
"versionStartIncluding": "6.12",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.13",
"versionStartIncluding": "6.12",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"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 \u003c= 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 \u003e0000021761df6538: 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 [\u003c0000021761df6538\u003e] btrfs_compress_folios+0x198/0x1a0\n ([\u003c0000021761df6534\u003e] btrfs_compress_folios+0x194/0x1a0)\n [\u003c0000021761d97788\u003e] compress_file_range+0x3b8/0x6d0\n [\u003c0000021761dcee7c\u003e] btrfs_work_helper+0x10c/0x160\n [\u003c0000021761645760\u003e] process_one_work+0x2b0/0x5d0\n [\u003c000002176164637e\u003e] worker_thread+0x20e/0x3e0\n [\u003c000002176165221a\u003e] kthread+0x15a/0x170\n [\u003c00000217615b859c\u003e] __ret_from_fork+0x3c/0x60\n [\u003c00000217626e72d2\u003e] ret_from_fork+0xa/0x38\n INFO: lockdep is turned off.\n Last Breaking-Event-Address:\n [\u003c0000021761597924\u003e] _printk+0x4c/0x58\n Kernel panic - not syncing: Fatal exception: panic_on_oops"
}
],
"providerMetadata": {
"dateUpdated": "2025-05-04T10:06:43.567Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"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"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2024-57923",
"datePublished": "2025-01-19T11:52:41.798Z",
"dateReserved": "2025-01-19T11:50:08.376Z",
"dateUpdated": "2025-05-04T10:06:43.567Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2024-57923\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-19T12:15:26.433\",\"lastModified\":\"2025-09-26T19:49:20.093\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"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 \u003c= 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 \u003e0000021761df6538: 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 [\u003c0000021761df6538\u003e] btrfs_compress_folios+0x198/0x1a0\\n ([\u003c0000021761df6534\u003e] btrfs_compress_folios+0x194/0x1a0)\\n [\u003c0000021761d97788\u003e] compress_file_range+0x3b8/0x6d0\\n [\u003c0000021761dcee7c\u003e] btrfs_work_helper+0x10c/0x160\\n [\u003c0000021761645760\u003e] process_one_work+0x2b0/0x5d0\\n [\u003c000002176164637e\u003e] worker_thread+0x20e/0x3e0\\n [\u003c000002176165221a\u003e] kthread+0x15a/0x170\\n [\u003c00000217615b859c\u003e] __ret_from_fork+0x3c/0x60\\n [\u003c00000217626e72d2\u003e] ret_from_fork+0xa/0x38\\n INFO: lockdep is turned off.\\n Last Breaking-Event-Address:\\n [\u003c0000021761597924\u003e] _printk+0x4c/0x58\\n Kernel panic - not syncing: Fatal exception: panic_on_oops\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs: zlib: arregla los bytes avail_in para la ruta de compresi\u00f3n de hardware zlib s390 Dado que la longitud de los datos de entrada que se pasan a zlib_compress_folios() puede ser arbitraria, configurar siempre strm.avail_in como un m\u00faltiplo de PAGE_SIZE puede provocar que los bytes de lectura superen el rango de entrada. Actualmente, esto activa una afirmaci\u00f3n en btrfs_compress_folios() en el kernel de depuraci\u00f3n (ver a continuaci\u00f3n). Arregla el c\u00e1lculo de strm.avail_in para la ruta de aceleraci\u00f3n de hardware S390. La afirmaci\u00f3n fall\u00f3: *total_in \u0026lt;= orig_len, en fs/btrfs/compression.c:1041 ------------[ corte aqu\u00ed ]------------ \u00a1ERROR del kernel en fs/btrfs/compression.c:1041! Evento de monitor: 0040 ilc:2 [#1] PREEMPT SMP CPU: 16 UID: 0 PID: 325 Comm: kworker/u273:3 No contaminado 6.13.0-20241204.rc1.git6.fae3b21430ca.300.fc41.s390x+debug #1 Nombre de hardware: IBM 3931 A01 703 (z/VM 7.4.0) Cola de trabajo: btrfs-delalloc btrfs_work_helper Krnl PSW: 0704d00180000000 0000021761df6538 (btrfs_compress_folios+0x198/0x1a0) R:0 T:1 IO:1 EX:1 Clave:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 RI:0 EA:3 Krnl GPRS: 0000000080000000 0000000000000001 0000000000000047 0000000000000000 000000000000006 ffffff01757bb000 000001976232fcc0 000000000000130c 000001976232fcd0 000001976232fcc8 00000118ff4a0e30 0000000000000001 00000111821ab400 0000011100000000 0000021761df6534 000001976232fb58 C\u00f3digo Krnl: 0000021761df6528: c020006f5ef4 larl %r2,0000021762be2310 0000021761df652e: c0e5ffbd09d5 brasl %r14,00000217615978d8 #0000021761df6534: af000000 mc 0,0 \u0026gt;0000021761df6538: 0707 bcr 0,%r7 0000021761df653a: 0707 bcr 0,%r7 0000021761df653c: 0707 bcr 0,%r7 0000021761df653e: 0707 bcr 0,%r7 0000021761df6540: c004004bb7ec brcl 0,000002176276d518 Seguimiento de llamadas: [\u0026lt;0000021761df6538\u0026gt;] btrfs_compress_folios+0x198/0x1a0 ([\u0026lt;0000021761df6534\u0026gt;] btrfs_compress_folios+0x194/0x1a0) [\u0026lt;0000021761d97788\u0026gt;] rango_archivo_comprimir+0x3b8/0x6d0 [\u0026lt;0000021761dcee7c\u0026gt;] ayuda_trabajo_btrfs+0x10c/0x160 [\u0026lt;0000021761645760\u0026gt;] trabajo_proceso_uno+0x2b0/0x5d0 [\u0026lt;000002176164637e\u0026gt;] subproceso_trabajador+0x20e/0x3e0 [\u0026lt;000002176165221a\u0026gt;] subproceso_k+0x15a/0x170 [\u0026lt;00000217615b859c\u0026gt;] __ret_de_bifurcaci\u00f3n+0x3c/0x60 [\u0026lt;00000217626e72d2\u0026gt;] ret_de_bifurcaci\u00f3n+0xa/0x38 INFORMACI\u00d3N: bloqueo_dep es Desactivado. Direcci\u00f3n del \u00faltimo evento de ruptura: [\u0026lt;0000021761597924\u0026gt;] _printk+0x4c/0x58 P\u00e1nico del kernel: no se sincroniza: Excepci\u00f3n fatal: panic_on_oops\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-617\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.12\",\"versionEndExcluding\":\"6.12.10\",\"matchCriteriaId\":\"CAA666EC-CF76-46C6-AE86-951E128D4C0A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"62567B3C-6CEE-46D0-BC2E-B3717FBF7D13\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"5A073481-106D-4B15-B4C7-FB0213B8E1D4\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"DE491969-75AE-4A6B-9A58-8FC5AF98798F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"93C0660D-7FB8-4FBA-892A-B064BA71E49E\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"034C36A6-C481-41F3-AE9A-D116E5BE6895\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"8AF9DC49-2085-4FFB-A7E3-73DFAFECC7F2\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0ee4736c003daded513de0ff112d4a1e9c85bbab\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/25adbb08aeadcff883ab801df99fd20fefbb6ca4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…