{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50745","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-24T13:02:21.543Z","datePublished":"2025-12-24T13:05:41.858Z","dateUpdated":"2026-08-05T08:59:34.782Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:59:34.782Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nstaging: media: tegra-video: fix device_node use after free\n\nAt probe time this code path is followed:\n\n * tegra_csi_init\n   * tegra_csi_channels_alloc\n     * for_each_child_of_node(node, channel) -- iterates over channels\n       * automatically gets 'channel'\n         * tegra_csi_channel_alloc()\n           * saves into chan->of_node a pointer to the channel OF node\n       * automatically gets and puts 'channel'\n       * now the node saved in chan->of_node has refcount 0, can disappear\n   * tegra_csi_channels_init\n     * iterates over channels\n       * tegra_csi_channel_init -- uses chan->of_node\n\nAfter that, chan->of_node keeps storing the node until the device is\nremoved.\n\nof_node_get() the node and of_node_put() it during teardown to avoid any\nrisk."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The defect is reached only on the local Tegra CSI platform probe path (tegra_csi_probe → host1x_client_register → tegra_csi_init → tegra_csi_channels_alloc/init) when parsing DT channel children; it is not reachable via network or adjacent-link packet processing.\nAC:L - for_each_child_of_node drops its temporary reference after each channel allocation, and the missing of_node_get leaves a long-lived dangling pointer deterministically on every non-TPG probe with channel nodes; on OF_DYNAMIC/overlay Tegra camera setups the node can be freed while still referenced with no attacker-uncontrollable race.\nPR:L - The buggy path runs automatically during ordinary boot-time/driver probe on affected Tegra210 VIDEO_TEGRA DT configurations with no capability gate, and per the higher-severity reading used for similar probe-time of_node UAF bugs a basic local user is scored rather than requiring init-namespace root.\nUI:N - Channel allocation and tegra_csi_channel_init run as part of normal host1x/video device initialization; no separate victim action such as mounting a filesystem or opening a device is required.\nS:U - The corrupted object is a kernel device_node used by the tegra-video CSI subdev within the host kernel’s security authority; this is ordinary kernel memory-safety impact, not a VM escape or IOMMU/sandbox boundary cross.\nC:H - Holding chan->of_node (and subdev->fwnode derived from it) after the iterator’s of_node_put without of_node_get is a use-after-free on the device_node; per UAF guidance that enables heap reuse and arbitrary kernel disclosure.\nI:H - The same device_node UAF is a heap-spray target whose freed object fields can be overwritten, converting the dangling OF/fwnode reference into an arbitrary-write and control-flow hijack primitive.\nA:H - Use of the dangling of_node (e.g. full_name / fwnode after free, or later teardown) causes kernel oops/panic, and UAFs are scored Availability High even when not fully exploited."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/staging/media/tegra-video/csi.c"],"versions":[{"version":"1ebaeb09830f36c1111b72a95420814225bd761c","lessThan":"5451efb2ca30f3c42b9efb8327ce35b62870dbd3","status":"affected","versionType":"git"},{"version":"1ebaeb09830f36c1111b72a95420814225bd761c","lessThan":"ce50c612458091d926ccb05d7db11d9f93532db2","status":"affected","versionType":"git"},{"version":"1ebaeb09830f36c1111b72a95420814225bd761c","lessThan":"6512c9498fcb97e7c760e3ef86b2272f2c0f765f","status":"affected","versionType":"git"},{"version":"1ebaeb09830f36c1111b72a95420814225bd761c","lessThan":"0fd003d3c708c80350a815eaf37b8e1114b976cf","status":"affected","versionType":"git"},{"version":"1ebaeb09830f36c1111b72a95420814225bd761c","lessThan":"c4d344163c3a7f90712525f931a6c016bbb35e18","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/staging/media/tegra-video/csi.c"],"versions":[{"version":"5.10","status":"affected"},{"version":"0","lessThan":"5.10","status":"unaffected","versionType":"semver"},{"version":"5.10.163","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.87","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.0.18","lessThanOrEqual":"6.0.*","status":"unaffected","versionType":"semver"},{"version":"6.1.4","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"5.10.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"5.15.87"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.0.18"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.1.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/5451efb2ca30f3c42b9efb8327ce35b62870dbd3"},{"url":"https://git.kernel.org/stable/c/ce50c612458091d926ccb05d7db11d9f93532db2"},{"url":"https://git.kernel.org/stable/c/6512c9498fcb97e7c760e3ef86b2272f2c0f765f"},{"url":"https://git.kernel.org/stable/c/0fd003d3c708c80350a815eaf37b8e1114b976cf"},{"url":"https://git.kernel.org/stable/c/c4d344163c3a7f90712525f931a6c016bbb35e18"}],"title":"staging: media: tegra-video: fix device_node use after free","x_generator":{"engine":"bippy-1.2.0"}}}}