CVE-2024-58034: memory: tegra20-emc: fix an OF node reference bug in tegra_emc_find_node_by_ram_code()
In the Linux kernel, the following vulnerability has been resolved:
memory: tegra20-emc: fix an OF node reference bug in tegra_emc_find_node_by_ram_code()
As of_find_node_by_name() release the reference of the argument device
node, tegra_emc_find_node_by_ram_code() releases some device nodes while
still in use, resulting in possible UAFs. According to the bindings and
the in-tree DTS files, the "emc-tables" node is always device's child
node with the property "nvidia,use-ram-code", and the "lpddr2" node is a
child of the "emc-tables" node. Thus utilize the
for_each_child_of_node() macro and of_get_child_by_name() instead of
of_find_node_by_name() to simplify the code.
This bug was found by an experimental verification tool that I am
developing.
[krzysztof: applied v1, adjust the commit msg to incorporate v2 parts]
Security readout for executives and security teams
Plain-English summary
CVE-2024-58034 is a Linux kernel bug in the NVIDIA Tegra20 EMC memory driver. A local, low-privileged user could potentially trigger use-after-free behavior, which can compromise confidentiality, integrity, or availability. Exposure appears most relevant to systems running affected Linux kernels on Tegra20-related hardware or configurations.
Executive priority
Treat as high priority for embedded or Tegra20 Linux fleets, especially multi-user devices. For general server fleets without this hardware path, prioritize normal kernel patch cycles after confirming exposure.
Technical view
The issue is a CWE-416 use-after-free caused by incorrect Open Firmware device-node reference handling in tegra_emc_find_node_by_ram_code(). The fix replaces of_find_node_by_name() usage with child-node helpers to avoid releasing nodes still in use. CVSS 3.1 is 7.8, local attack vector, low complexity, low privileges, no user interaction.
Likely exposure
Likely exposure is limited to Linux systems using affected kernel versions and the tegra20-emc driver path. The source bundle lists Linux as affected and references stable kernel fixes plus a Debian LTS advisory. Non-Tegra20 systems may carry the code but are less likely to be reachable.
Exploitation context
The CVE is not listed as KEV in the bundle, and no provided source states active exploitation. The CVSS vector indicates local access with low privileges is required. Public evidence provided describes a bug found by an experimental verification tool, not a reported in-the-wild attack.
Researcher notes
The key technical condition is incorrect OF node reference lifetime in tegra_emc_find_node_by_ram_code(). Validation should focus on branch-specific kernel backports rather than only upstream version numbers. The provided evidence does not include exploit availability or a standalone mitigation beyond patched kernels/vendor updates.
Mitigation direction
Apply vendor or distribution kernel updates containing the referenced stable fixes.
Prioritize Tegra20 or embedded Linux assets using affected kernel branches.
Review Debian LTS guidance if managing Debian-based systems.
If patching is delayed, reduce local user access on exposed systems.
Track kernel vendor advisories for exact fixed package versions.
Validation and detection
Inventory Linux hosts and identify kernel versions and hardware platforms.
Check whether Tegra20 EMC driver support is present or enabled.
Confirm installed kernel includes the referenced stable fix for its branch.
Verify Debian-based systems against the Debian LTS advisory where applicable.
Record exceptions for systems awaiting vendor-confirmed fixed builds.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
2ADP providers
8Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.