CVE-2022-50745
N/A
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
staging: media: tegra-video: fix device_node use after free
At probe time this code path is followed:
- tegra_csi_init
- tegra_csi_channels_alloc
- for_each_child_of_node(node, channel) – iterates over channels
- automatically gets 'channel'
- tegra_csi_channel_alloc()
- saves into chan->of_node a pointer to the channel OF node
- tegra_csi_channel_alloc()
- automatically gets and puts 'channel'
- now the node saved in chan->of_node has refcount 0, can disappear
- automatically gets 'channel'
- for_each_child_of_node(node, channel) – iterates over channels
- tegra_csi_channels_init
- iterates over channels
- tegra_csi_channel_init – uses chan->of_node
- iterates over channels
- tegra_csi_channels_alloc
After that, chan->of_node keeps storing the node until the device is removed.
of_node_get() the node and of_node_put() it during teardown to avoid any risk.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1ebaeb09830f36c1111b72a95420814225bd761c < 5451efb2ca30f3c42b9efb8327ce35b62870dbd3 | affected |
| Linux | Linux | 1ebaeb09830f36c1111b72a95420814225bd761c < ce50c612458091d926ccb05d7db11d9f93532db2 | affected |
| Linux | Linux | 1ebaeb09830f36c1111b72a95420814225bd761c < 6512c9498fcb97e7c760e3ef86b2272f2c0f765f | affected |
| Linux | Linux | 1ebaeb09830f36c1111b72a95420814225bd761c < 0fd003d3c708c80350a815eaf37b8e1114b976cf | affected |
| Linux | Linux | 1ebaeb09830f36c1111b72a95420814225bd761c < c4d344163c3a7f90712525f931a6c016bbb35e18 | affected |
| Linux | Linux | 5.10 | affected |
| Linux | Linux | 0 < 5.10 | unaffected |
| Linux | Linux | 5.10.163 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.87 <= 5.15.* | unaffected |
| Linux | Linux | 6.0.18 <= 6.0.* | unaffected |
| Linux | Linux | 6.1.4 <= 6.1.* | unaffected |
| Linux | Linux | 6.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/5451efb2ca30f3c42b9efb8327ce35b62870dbd3
- https://git.kernel.org/stable/c/ce50c612458091d926ccb05d7db11d9f93532db2
- https://git.kernel.org/stable/c/6512c9498fcb97e7c760e3ef86b2272f2c0f765f
- https://git.kernel.org/stable/c/0fd003d3c708c80350a815eaf37b8e1114b976cf
- https://git.kernel.org/stable/c/c4d344163c3a7f90712525f931a6c016bbb35e18
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.