CVE-2025-22028
NoneCVSS
—
EPSS
0.2%
Published
Apr 16, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's test video driver could cause warning messages when video streaming is started and stopped in certain ways.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Improper Input Validation
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits vimc_streamer_pipeline_terminate to invoke .s_stream() on entities that were never started or have already been stopped, violating the check in call_s_stream() within v4l2-subdev and generating a kernel warning.
Why it matters to the business
Organizations running Linux kernels with the vimc virtual media driver may observe kernel warnings or minor instability during video capture operations in test or development environments; the issue affects a widely used kernel component but has low exploitability and no known ransomware usage.
How an attack unfolds
An attacker triggers repeated V4L2 stream-on and stream-off sequences through user-space ioctls on a vimc capture device, causing the pipeline termination path to call .s_stream() on an already-stopped subdev and hitting the warning check.
How to fix it
Upgrade the Linux kernel to a version containing commit a505075730d23ccc19fc4ac382a0ed73b630c057; for Red Hat Enterprise Linux 9 systems also update buildah packages to 2:1.33.10-1.el9_4 or later.
How to confirm the fix worked
Verify the presence of commit a505075730d23ccc19fc4ac382a0ed73b630c057 in the kernel source or confirm that vimc_streamer_pipeline_terminate now guards the .s_stream() call with a started-entity check; re-run the original syzbot reproducer to confirm the warning no longer triggers.
Typical attack path
- Open a vimc video capture device via V4L2
- Issue VIDIOC_STREAMON to start streaming
- Issue VIDIOC_STREAMOFF or trigger pipeline termination
- Repeat operations rapidly to hit the unstarted-entity path in vimc_streamer_pipeline_terminate
- Observe kernel warning or potential follow-on behavior
How to detect it
Search kernel logs for the exact warning emitted by call_s_stream at drivers/media/v4l2-core/v4l2-subdev.c:460 and for call traces containing vimc_streamer_pipeline_terminate or vimc_capture_start_streaming; examine audit logs for unusual V4L2 ioctl sequences on vimc devices.
- WARNING: CPU:.*at drivers/media/v4l2-core/v4l2-subdev.c:460 call_s_stream
- vimc_streamer_pipeline_terminate+0x218/0x320
- syz-executor.*vimc
What your security team should do
- Apply the kernel fix containing commit a505075730d23ccc19fc4ac382a0ed73b630c057 at the earliest maintenance window
- Update affected Red Hat Enterprise Linux 9 buildah packages to 2:1.33.10-1.el9_4
- Monitor kernel logs for the call_s_stream warning string during video device testing
- Limit exposure of V4L2 devices on systems where vimc is enabled if patching is delayed
The record
In the Linux kernel, the following vulnerability has been resolved: media: vimc: skip .s_stream() for stopped entities Syzbot reported [1] a warning prompted by a check in call_s_stream() that checks whether .s_stream() operation is warranted for unstarted or stopped subdevs. Add a simple fix in vimc_streamer_pipeline_terminate() ensuring that entities skip a call to .s_stream() unless they have been previously properly started. [1] Syzbot report: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 5933 at drivers/media/v4l2-core/v4l2-subdev.c:460 call_s_stream+0x2df/0x350 drivers/media/v4l2-core/v4l2-subdev.c:460 Modules linked in: CPU: 0 UID: 0 PID: 5933 Comm: syz-executor330 Not tainted 6.13.0-rc2-syzkaller-00362-g2d8308bf5b67 #0 ... Call Trace: <TASK> vimc_streamer_pipeline_terminate+0x218/0x320 drivers/media/test-drivers/vimc/vimc-streamer.c:62 vimc_streamer_pipeline_init drivers/media/test-drivers/vimc/vimc-streamer.c:101 [inline] vimc_streamer_s_stream+0x650/0x9a0 drivers/media/test-drivers/vimc/vimc-streamer.c:203 vimc_capture_start_streaming+0xa1/0x130 drivers/media/test-drivers/vimc/vimc-capture.c:256 vb2_start_streaming+0x15f/0x5a0 drivers/media/common/videobuf2/videobuf2-core.c:1789 vb2_core_streamon+0x2a7/0x450 drivers/media/common/videobuf2/videobuf2-core.c:2348 vb2_streamon drivers/media/common/videobuf2/videobuf2-v4l2.c:875 [inline] vb2_ioctl_streamon+0xf4/0x170 drivers/media/common/videobuf2/videobuf2-v4l2.c:1118 __video_do_ioctl+0xaf0/0xf00 drivers/media/v4l2-core/v4l2-ioctl.c:3122 video_usercopy+0x4d2/0x1620 drivers/media/v4l2-core/v4l2-ioctl.c:3463 v4l2_ioctl+0x1ba/0x250 drivers/media/v4l2-core/v4l2-dev.c:366 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x190/0x200 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f2b85c01b19 ...
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | No fix |
| Debian:13 | linux | 0 | 6.12.25-1 |
| Linux | Kernel | 5.1.0 | 6.6.89 |
| SUSE:Enterprise Storage 7.1 | kernel-64kb | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Enterprise Storage 7.1 | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Enterprise Storage 7.1 | kernel-default-base | 0 | 5.3.18-150300.59.207.1.150300.18.124.1 |
| SUSE:Enterprise Storage 7.1 | kernel-docs | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Enterprise Storage 7.1 | kernel-obs-build | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Enterprise Storage 7.1 | kernel-preempt | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Enterprise Storage 7.1 | kernel-source | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Enterprise Storage 7.1 | kernel-syms | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-64kb | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default-base | 0 | 5.3.18-150300.59.207.1.150300.18.124.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-docs | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-obs-build | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-preempt | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-syms | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Live Patching 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Live Patching 15 SP3 | kernel-livepatch-SLE15-SP3_Update_58 | 0 | 1-150300.7.3.1 |
| SUSE:Linux Enterprise Micro 5.1 | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Micro 5.1 | kernel-default-base | 0 | 5.3.18-150300.59.207.1.150300.18.124.1 |
| SUSE:Linux Enterprise Micro 5.2 | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Micro 5.2 | kernel-default-base | 0 | 5.3.18-150300.59.207.1.150300.18.124.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-64kb | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-default-base | 0 | 5.3.18-150300.59.207.1.150300.18.124.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-docs | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-obs-build | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-preempt | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-source | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-syms | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | kernel-zfcpdump | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default-base | 0 | 5.3.18-150300.59.207.1.150300.18.124.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-docs | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-obs-build | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-preempt | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-source | 0 | 5.3.18-150300.59.207.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | kernel-syms | 0 | 5.3.18-150300.59.207.1 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux