Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-31585

media: vidtv: fix nfeeds state corruption on start_streaming failure

Description

In the Linux kernel, the following vulnerability has been resolved: media: vidtv: fix nfeeds state corruption on start_streaming failure syzbot reported a memory leak in vidtv_psi_service_desc_init [1]. When vidtv_start_streaming() fails inside vidtv_start_feed(), the nfeeds counter is left incremented even though no feed was actually started. This corrupts the driver state: subsequent start_feed calls see nfeeds > 1 and skip starting the mux, while stop_feed calls eventually try to stop a non-existent stream. This state corruption can also lead to memory leaks, since the mux and channel resources may be partially allocated during a failed start_streaming but never cleaned up, as the stop path finds dvb->streaming == false and returns early. Fix by decrementing nfeeds back when start_streaming fails, keeping the counter in sync with the actual number of active feeds. [1] BUG: memory leak unreferenced object 0xffff888145b50820 (size 32): comm "syz.0.17", pid 6068, jiffies 4294944486 backtrace (crc 90a0c7d4): vidtv_psi_service_desc_init+0x74/0x1b0 drivers/media/test-drivers/vidtv/vidtv_psi.c:288 vidtv_channel_s302m_init+0xb1/0x2a0 drivers/media/test-drivers/vidtv/vidtv_channel.c:83 vidtv_channels_init+0x1b/0x40 drivers/media/test-drivers/vidtv/vidtv_channel.c:524 vidtv_mux_init+0x516/0xbe0 drivers/media/test-drivers/vidtv/vidtv_mux.c:518 vidtv_start_streaming drivers/media/test-drivers/vidtv/vidtv_bridge.c:194 [inline] vidtv_start_feed+0x33e/0x4d0 drivers/media/test-drivers/vidtv/vidtv_bridge.c:239

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < f8cccb427e65d725fc0ba05e8900b4676eda268eaffected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 60f768d46df561e06d92ffcacc00909f37a0f23daffected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 80900b5424f3454256153ce386388df43b324f63affected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 17cb7957c979529cc98ff57f7ac331532f1f7c83affected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 98c22210aeadce67d9d20059f0dbbd01ba7fdbbaaffected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 25f19e476ab15defe698504212899fdb9f7cd61baffected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 83110c2c8c46c035c2e0fc8ff3e4991183bf9ccdaffected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 4bf95f797edd63c93330eafb6d6e670982344b9baffected
  • f90cf6079bf67988f8b1ad1ade70fc89d0080905 to < a0e5a598fe9a4612b852406b51153b881592aedeaffected

Linux Linux

Default version status: affected

  • 5.10affected
  • 0 to < 5.10unaffected
  • 5.10.258 to ≤ 5.10.*unaffected
  • 5.15.209 to ≤ 5.15.*unaffected
  • 6.1.175 to ≤ 6.1.*unaffected
  • 6.6.136 to ≤ 6.6.*unaffected
  • 6.12.83 to ≤ 6.12.*unaffected
  • 6.18.24 to ≤ 6.18.*unaffected
  • 6.19.14 to ≤ 6.19.*unaffected
  • 7.0.1 to ≤ 7.0.*unaffected
  • 7.1 to ≤ *unaffected

References