Linux Kernel bis 5.10.135/5.15.59/5.18.16/5.19.0 crypto lib/dump_stack.c neon_poly1305_blocks erweiterte Rechte

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.7 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine Schwachstelle in Linux Kernel bis 5.10.135/5.15.59/5.18.16/5.19.0 entdeckt. Sie wurde als problematisch eingestuft. Das betrifft die Funktion neon_poly1305_blocks in der Bibliothek lib/dump_stack.c der Komponente crypto. Durch das Manipulieren mit unbekannten Daten kann eine unbekannte Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird als CVE-2022-50231 geführt. Es ist kein Exploit verfügbar.
Es wird empfohlen, die betroffene Komponente zu aktualisieren.
Details
Es wurde eine problematische Schwachstelle in Linux Kernel bis 5.10.135/5.15.59/5.18.16/5.19.0 entdeckt. Es betrifft die Funktion neon_poly1305_blocks der Bibliothek lib/dump_stack.c der Komponente crypto. Im Rahmen von CWE wurde eine Klassifizierung als CWE-665 vorgenommen. Es ist nicht genau bekannt, welche Auswirkungen ein erfolgreicher Angriff haben wird. CVE fasst zusammen:
In the Linux kernel, the following vulnerability has been resolved:
crypto: arm64/poly1305 - fix a read out-of-bound
A kasan error was reported during fuzzing:
BUG: KASAN: slab-out-of-bounds in neon_poly1305_blocks.constprop.0+0x1b4/0x250 [poly1305_neon]
Read of size 4 at addr ffff0010e293f010 by task syz-executor.5/1646715
CPU: 4 PID: 1646715 Comm: syz-executor.5 Kdump: loaded Not tainted 5.10.0.aarch64 #1
Hardware name: Huawei TaiShan 2280 /BC11SPCD, BIOS 1.59 01/31/2019
Call trace:
dump_backtrace+0x0/0x394
show_stack+0x34/0x4c arch/arm64/kernel/stacktrace.c:196
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x158/0x1e4 lib/dump_stack.c:118
print_address_description.constprop.0+0x68/0x204 mm/kasan/report.c:387
__kasan_report+0xe0/0x140 mm/kasan/report.c:547
kasan_report+0x44/0xe0 mm/kasan/report.c:564
check_memory_region_inline mm/kasan/generic.c:187 [inline]
__asan_load4+0x94/0xd0 mm/kasan/generic.c:252
neon_poly1305_blocks.constprop.0+0x1b4/0x250 [poly1305_neon]
neon_poly1305_do_update+0x6c/0x15c [poly1305_neon]
neon_poly1305_update+0x9c/0x1c4 [poly1305_neon]
crypto_shash_update crypto/shash.c:131 [inline]
shash_finup_unaligned+0x84/0x15c crypto/shash.c:179
crypto_shash_finup+0x8c/0x140 crypto/shash.c:193
shash_digest_unaligned+0xb8/0xe4 crypto/shash.c:201
crypto_shash_digest+0xa4/0xfc crypto/shash.c:217
crypto_shash_tfm_digest+0xb4/0x150 crypto/shash.c:229
essiv_skcipher_setkey+0x164/0x200 [essiv]
crypto_skcipher_setkey+0xb0/0x160 crypto/skcipher.c:612
skcipher_setkey+0x3c/0x50 crypto/algif_skcipher.c:305
alg_setkey+0x114/0x2a0 crypto/af_alg.c:220
alg_setsockopt+0x19c/0x210 crypto/af_alg.c:253
__sys_setsockopt+0x190/0x2e0 net/socket.c:2123
__do_sys_setsockopt net/socket.c:2134 [inline]
__se_sys_setsockopt net/socket.c:2131 [inline]
__arm64_sys_setsockopt+0x78/0x94 net/socket.c:2131
__invoke_syscall arch/arm64/kernel/syscall.c:36 [inline]
invoke_syscall+0x64/0x100 arch/arm64/kernel/syscall.c:48
el0_svc_common.constprop.0+0x220/0x230 arch/arm64/kernel/syscall.c:155
do_el0_svc+0xb4/0xd4 arch/arm64/kernel/syscall.c:217
el0_svc+0x24/0x3c arch/arm64/kernel/entry-common.c:353
el0_sync_handler+0x160/0x164 arch/arm64/kernel/entry-common.c:369
el0_sync+0x160/0x180 arch/arm64/kernel/entry.S:683
This error can be reproduced by the following code compiled as ko on a
system with kasan enabled:
#include <linux/module.h>
#include <linux/crypto.h>
#include <crypto/hash.h>
#include <crypto/poly1305.h>
char test_data[] = "\x00\x01\x02\x03\x04\x05\x06\x07"
"\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
"\x10\x11\x12\x13\x14\x15\x16\x17"
"\x18\x19\x1a\x1b\x1c\x1d\x1e";
int init(void)
{
struct crypto_shash *tfm = NULL;
char *data = NULL, *out = NULL;
tfm = crypto_alloc_shash("poly1305", 0, 0);
data = kmalloc(POLY1305_KEY_SIZE - 1, GFP_KERNEL);
out = kmalloc(POLY1305_DIGEST_SIZE, GFP_KERNEL);
memcpy(data, test_data, POLY1305_KEY_SIZE - 1);
crypto_shash_tfm_digest(tfm, data, POLY1305_KEY_SIZE - 1, out);
kfree(data);
kfree(out);
return 0;
}
void deinit(void)
{
}
module_init(init)
module_exit(deinit)
MODULE_LICENSE("GPL");
The root cause of the bug sits in neon_poly1305_blocks. The logic
neon_poly1305_blocks() performed is that if it was called with both s[]
and r[] uninitialized, it will first try to initialize them with the
data from the first "block" that it believed to be 32 bytes in length.
First 16 bytes are used as the key and the next 16 bytes for s[]. This
would lead to the aforementioned read out-of-bound. However, after
calling poly1305_init_arch(), only 16 bytes were deducted from the input
and s[] is initialized yet again with the following 16 bytes. The second
initialization of s[] is certainly redundent which indicates that the
first initialization should be for r[] only.
This patch fixes the issue by calling poly1305_init_arm64() instead o
---truncated---Das Advisory kann von git.kernel.org heruntergeladen werden. Die Verwundbarkeit wird seit dem 18.06.2025 unter CVE-2022-50231 geführt. Sie gilt als schwierig auszunutzen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt.
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 271309 (EulerOS 2.0 SP13 : kernel (EulerOS-SA-2025-2264)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 5.10.136, 5.15.60, 5.18.17 oder 5.19.1 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 3c77292d52b341831cb09c24ca4112a1e4f9e91f/3d4c28475ee352c440b83484b72b1320ff76364a/8d25a08599df7ca3093eb7ca731c7cd41cbfbb51/d069dcffef849b8fd10030fd73007a79612803e6/7ae19d422c7da84b5f13bc08b98bd737a08d3a53 beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (271309) und CERT Bund (WID-SEC-2025-1350) dokumentiert. VulDB is the best source for vulnerability data and more expert information about this specific topic.
Betroffen
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- Open Source Linux Kernel
- RESF Rocky Linux
- Dell Avamar
- Dell NetWorker
- Dell Secure Connect Gateway
- IBM QRadar SIEM
Produkt
Typ
Hersteller
Name
Version
- 5.0
- 5.1
- 5.2
- 5.3
- 5.4
- 5.5
- 5.6
- 5.7
- 5.8
- 5.9
- 5.10
- 5.10.135
- 5.11
- 5.12
- 5.13
- 5.14
- 5.15
- 5.15.0
- 5.15.1
- 5.15.2
- 5.15.3
- 5.15.4
- 5.15.5
- 5.15.6
- 5.15.7
- 5.15.8
- 5.15.9
- 5.15.10
- 5.15.11
- 5.15.12
- 5.15.13
- 5.15.14
- 5.15.15
- 5.15.16
- 5.15.17
- 5.15.18
- 5.15.19
- 5.15.20
- 5.15.21
- 5.15.22
- 5.15.23
- 5.15.24
- 5.15.25
- 5.15.26
- 5.15.27
- 5.15.28
- 5.15.29
- 5.15.30
- 5.15.31
- 5.15.32
- 5.15.33
- 5.15.34
- 5.15.35
- 5.15.36
- 5.15.37
- 5.15.38
- 5.15.39
- 5.15.40
- 5.15.41
- 5.15.42
- 5.15.43
- 5.15.44
- 5.15.45
- 5.15.46
- 5.15.47
- 5.15.48
- 5.15.49
- 5.15.50
- 5.15.51
- 5.15.52
- 5.15.53
- 5.15.54
- 5.15.55
- 5.15.56
- 5.15.57
- 5.15.58
- 5.15.59
- 5.16
- 5.17
- 5.18
- 5.18.0
- 5.18.1
- 5.18.2
- 5.18.3
- 5.18.4
- 5.18.5
- 5.18.6
- 5.18.7
- 5.18.8
- 5.18.9
- 5.18.10
- 5.18.11
- 5.18.12
- 5.18.13
- 5.18.14
- 5.18.15
- 5.18.16
- 5.19.0
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.8VulDB Meta Temp Score: 5.7
VulDB Base Score: 4.6
VulDB Temp Score: 4.4
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 7.1
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Erweiterte RechteCWE: CWE-665
CAPEC: 🔍
ATT&CK: 🔍
Physisch: Teilweise
Lokal: Ja
Remote: Teilweise
Verfügbarkeit: 🔍
Status: Nicht definiert
EPSS Score: 🔍
EPSS Percentile: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 271309
Nessus Name: EulerOS 2.0 SP13 : kernel (EulerOS-SA-2025-2264)
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 5.10.136/5.15.60/5.18.17/5.19.1
Patch: 3c77292d52b341831cb09c24ca4112a1e4f9e91f/3d4c28475ee352c440b83484b72b1320ff76364a/8d25a08599df7ca3093eb7ca731c7cd41cbfbb51/d069dcffef849b8fd10030fd73007a79612803e6/7ae19d422c7da84b5f13bc08b98bd737a08d3a53
Timeline
18.06.2025 🔍18.06.2025 🔍
18.06.2025 🔍
29.01.2026 🔍
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2022-50231 (🔍)
GCVE (CVE): GCVE-0-2022-50231
GCVE (VulDB): GCVE-100-313200
CERT Bund: WID-SEC-2025-1350 - Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service
Eintrag
Erstellt: 18.06.2025 15:47Aktualisierung: 29.01.2026 07:17
Anpassungen: 18.06.2025 15:47 (59), 20.10.2025 05:06 (7), 26.10.2025 01:40 (2), 19.11.2025 19:40 (13), 29.01.2026 07:17 (1)
Komplett: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.