Files
vuln-cve/data/2022/50xxx/CVE-2022-50745.json
T

201 lines
11 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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"
}
}
}
}