CVE-2022-50828
Description
In the Linux kernel, the following vulnerability has been resolved:
clk: zynqmp: Fix stack-out-of-bounds in strncpy`
"BUG: KASAN: stack-out-of-bounds in strncpy+0x30/0x68"
Linux-ATF interface is using 16 bytes of SMC payload. In case clock name is longer than 15 bytes, string terminated NULL character will not be received by Linux. Add explicit NULL character at last byte to fix issues when clock name is longer.
This fixes below bug reported by KASAN:
================================================================== BUG: KASAN: stack-out-of-bounds in strncpy+0x30/0x68 Read of size 1 at addr ffff0008c89a7410 by task swapper/0/1
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.4.0-00396-g81ef9e7-dirty #3 Hardware name: Xilinx Versal vck190 Eval board revA (QSPI) (DT) Call trace: dump_backtrace+0x0/0x1e8 show_stack+0x14/0x20 dump_stack+0xd4/0x108 print_address_description.isra.0+0xbc/0x37c __kasan_report+0x144/0x198 kasan_report+0xc/0x18 __asan_load1+0x5c/0x68 strncpy+0x30/0x68 zynqmp_clock_probe+0x238/0x7b8 platform_drv_probe+0x6c/0xc8 really_probe+0x14c/0x418 driver_probe_device+0x74/0x130 __device_attach_driver+0xc4/0xe8 bus_for_each_drv+0xec/0x150 __device_attach+0x160/0x1d8 device_initial_probe+0x10/0x18 bus_probe_device+0xe0/0xf0 device_add+0x528/0x950 of_device_add+0x5c/0x80 of_platform_device_create_pdata+0x120/0x168 of_platform_bus_create+0x244/0x4e0 of_platform_populate+0x50/0xe8 zynqmp_firmware_probe+0x370/0x3a8 platform_drv_probe+0x6c/0xc8 really_probe+0x14c/0x418 driver_probe_device+0x74/0x130 device_driver_attach+0x94/0xa0 __driver_attach+0x70/0x108 bus_for_each_dev+0xe4/0x158 driver_attach+0x30/0x40 bus_add_driver+0x21c/0x2b8 driver_register+0xbc/0x1d0 __platform_driver_register+0x7c/0x88 zynqmp_firmware_driver_init+0x1c/0x24 do_one_initcall+0xa4/0x234 kernel_init_freeable+0x1b0/0x24c kernel_init+0x10/0x110 ret_from_fork+0x10/0x18
The buggy address belongs to the page: page:ffff0008f9be1c88 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 raw: 0008d00000000000 ffff0008f9be1c90 ffff0008f9be1c90 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffffff page dumped because: kasan: bad access detected
addr ffff0008c89a7410 is located in stack of task swapper/0/1 at offset 112 in frame: zynqmp_clock_probe+0x0/0x7b8
this frame has 3 objects: [32, 44) 'response' [64, 80) 'ret_payload' [96, 112) 'name'
Memory state around the buggy address: ffff0008c89a7300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff0008c89a7380: 00 00 00 00 f1 f1 f1 f1 00 04 f2 f2 00 00 f2 f2 >ffff0008c89a7400: 00 00 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 ^ ffff0008c89a7480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff0008c89a7500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A stack-out-of-bounds vulnerability in the Linux kernel's ZynqMP clock driver occurs when a clock name longer than 15 bytes is copied, allowing memory corruption; patched by ensuring null-termination.
Root
Cause In the ZynqMP clock driver, the Linux-ATF interface uses a 16-byte SMC payload for clock names. When a clock name exceeds 15 characters, the null terminator is not received by Linux, causing strncpy to read beyond the stack buffer. This results in a KASAN-detected stack-out-of-bounds read.
Exploitation
An attacker with the ability to control or influence the clock name (e.g., via device tree or firmware) could trigger this bug during boot when the clock driver probes. No special privileges are required beyond the ability to provide a long clock name; the issue occurs in the kernel initialization path.
Impact
Successful exploitation leads to memory corruption, potentially causing a system crash or denial of service. The KASAN report indicates a read of size 1 out of bounds, which could be leveraged for information disclosure or arbitrary write under certain conditions.
Mitigation
The fix adds an explicit null character at the last byte of the SMC payload. Patches have been applied to stable kernel branches [1][2][3]. Users should update to kernels containing these commits to eliminate the vulnerability.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
65dbfcf7b0803d9e2585c3bce0a07b13af04dd66fea97671fbce41e4ac6f5dd80fb2dbf1cVulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- git.kernel.org/stable/c/0a07b13af04d0db7325018aaa83b5ffe864790c9nvd
- git.kernel.org/stable/c/5dbfcf7b080306b65d9f756fadf46c9495793750nvd
- git.kernel.org/stable/c/bce41e4ac6f5ca3b22a07e8cdadc12044bbf9d3bnvd
- git.kernel.org/stable/c/d66fea97671fcb516bd6d34bcc033f650ac7ee91nvd
- git.kernel.org/stable/c/d9e2585c3bcecb1c83febad31b9f450e93d2509envd
- git.kernel.org/stable/c/dd80fb2dbf1cd8751efbe4e53e54056f56a9b115nvd
News mentions
0No linked articles in our index yet.