Description
In the Linux kernel, the following vulnerability has been resolved: media: vidtv: fix NULL pointer dereference in vidtv_channel_pmt_match_sections syzbot reported a general protection fault in vidtv_psi_desc_assign [1]. vidtv_psi_pmt_stream_init() can return NULL on memory allocation failure, but vidtv_channel_pmt_match_sections() does not check for this. When tail is NULL, the subsequent call to vidtv_psi_desc_assign(&tail->descriptor, desc) dereferences a NULL pointer offset, causing a general protection fault. Add a NULL check after vidtv_psi_pmt_stream_init(). On failure, clean up the already-allocated stream chain and return. [1] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:vidtv_psi_desc_assign+0x24/0x90 drivers/media/test-drivers/vidtv/vidtv_psi.c:629 Call Trace: <TASK> vidtv_channel_pmt_match_sections drivers/media/test-drivers/vidtv/vidtv_channel.c:349 [inline] vidtv_channel_si_init+0x1445/0x1a50 drivers/media/test-drivers/vidtv/vidtv_channel.c:479 vidtv_mux_init+0x526/0xbe0 drivers/media/test-drivers/vidtv/vidtv_mux.c:519 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 < 54e18a23e62e81b8335cec3e8e9c5cb33fd88665affectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 5c986b77200b5ea754ba6636deacc7e0942fec9baffectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 93d9e747a9e8a5ca9e3c5e37dcff76b40399139faffectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < b7efb4c94797c504a1c678edb48c2aa311d3309faffectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < e589de36da106ef739ba98f66f5a5c2023370706affectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 2dff11fb5098ae453651f8f77e94ad499c078022affectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < b832cfd516b8504e95884622cee60bf9a39b7945affectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < 07c1e474cf9acf777f09d14a8f8dfcef5b84e46faffectedf90cf6079bf67988f8b1ad1ade70fc89d0080905 to < f8e1fc918a9fe67103bcda01d20d745f264d00a7affected
Linux Linux
Default version status: affected
5.10affected0 to < 5.10unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0.1 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/54e18a23e62e81b8335cec3e8e9c5cb33fd88665 ↗
- https://git.kernel.org/stable/c/5c986b77200b5ea754ba6636deacc7e0942fec9b ↗
- https://git.kernel.org/stable/c/93d9e747a9e8a5ca9e3c5e37dcff76b40399139f ↗
- https://git.kernel.org/stable/c/b7efb4c94797c504a1c678edb48c2aa311d3309f ↗
- https://git.kernel.org/stable/c/e589de36da106ef739ba98f66f5a5c2023370706 ↗
- https://git.kernel.org/stable/c/2dff11fb5098ae453651f8f77e94ad499c078022 ↗
- https://git.kernel.org/stable/c/b832cfd516b8504e95884622cee60bf9a39b7945 ↗
- https://git.kernel.org/stable/c/07c1e474cf9acf777f09d14a8f8dfcef5b84e46f ↗
- https://git.kernel.org/stable/c/f8e1fc918a9fe67103bcda01d20d745f264d00a7 ↗