Description
In the Linux kernel, the following vulnerability has been resolved: md: Replace snprintf with scnprintf Current code produces a warning as shown below when total characters in the constituent block device names plus the slashes exceeds 200. snprintf() returns the number of characters generated from the given input, which could cause the expression “200 – len” to wrap around to a large positive number. Fix this by using scnprintf() instead, which returns the actual number of characters written into the buffer. [ 1513.267938] ------------[ cut here ]------------ [ 1513.267943] WARNING: CPU: 15 PID: 37247 at <snip>/lib/vsprintf.c:2509 vsnprintf+0x2c8/0x510 [ 1513.267944] Modules linked in: <snip> [ 1513.267969] CPU: 15 PID: 37247 Comm: mdadm Not tainted 5.4.0-1085-azure #90~18.04.1-Ubuntu [ 1513.267969] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 05/09/2022 [ 1513.267971] RIP: 0010:vsnprintf+0x2c8/0x510 <-snip-> [ 1513.267982] Call Trace: [ 1513.267986] snprintf+0x45/0x70 [ 1513.267990] ? disk_name+0x71/0xa0 [ 1513.267993] dump_zones+0x114/0x240 [raid0] [ 1513.267996] ? _cond_resched+0x19/0x40 [ 1513.267998] raid0_run+0x19e/0x270 [raid0] [ 1513.268000] md_run+0x5e0/0xc50 [ 1513.268003] ? security_capable+0x3f/0x60 [ 1513.268005] do_md_run+0x19/0x110 [ 1513.268006] md_ioctl+0x195e/0x1f90 [ 1513.268007] blkdev_ioctl+0x91f/0x9f0 [ 1513.268010] block_ioctl+0x3d/0x50 [ 1513.268012] do_vfs_ioctl+0xa9/0x640 [ 1513.268014] ? __fput+0x162/0x260 [ 1513.268016] ksys_ioctl+0x75/0x80 [ 1513.268017] __x64_sys_ioctl+0x1a/0x20 [ 1513.268019] do_syscall_64+0x5e/0x200 [ 1513.268021] entry_SYSCALL_64_after_hwframe+0x44/0xa9
Product status
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 3b0a2bd51f60418ecd67493586a2bb2174199de3
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 897b1450abe5a67c842a5d24173ce4449ccdfa94
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 97238b88583c27c9d3b4a0cedb45f816523f17c3
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 76694e9ce0b2238c0a5f3ba54f9361dd3770ec78
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 5d8259c9d1915a50c60c7d6e9e7fb9b7da64a175
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 41ca95033a0c47cd6dace1f0a36a6eb5ebe799e6
766038846e875740cf4c20dfc5d5b292ba47360a (git) before f95825c4e51cf9a653b0ef947ac78401fc9d3a40
766038846e875740cf4c20dfc5d5b292ba47360a (git) before 1727fd5015d8f93474148f94e34cda5aa6ad4a43
4.10
Any version before 4.10
4.14.296 (semver)
4.19.262 (semver)
5.4.220 (semver)
5.10.150 (semver)
5.15.75 (semver)
5.19.17 (semver)
6.0.3 (semver)
6.1 (original_commit_for_fix)
References
git.kernel.org/...c/3b0a2bd51f60418ecd67493586a2bb2174199de3
git.kernel.org/...c/897b1450abe5a67c842a5d24173ce4449ccdfa94
git.kernel.org/...c/97238b88583c27c9d3b4a0cedb45f816523f17c3
git.kernel.org/...c/76694e9ce0b2238c0a5f3ba54f9361dd3770ec78
git.kernel.org/...c/5d8259c9d1915a50c60c7d6e9e7fb9b7da64a175
git.kernel.org/...c/41ca95033a0c47cd6dace1f0a36a6eb5ebe799e6
git.kernel.org/...c/f95825c4e51cf9a653b0ef947ac78401fc9d3a40
git.kernel.org/...c/1727fd5015d8f93474148f94e34cda5aa6ad4a43