GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2024-55639 (GCVE-0-2024-55639)

Vulnerability from cvelistv5 – Published: 2025-01-11 12:29 – Updated: 2026-08-05 11:44
VLAI
Title
net: renesas: rswitch: avoid use-after-put for a device tree node
Summary
In the Linux kernel, the following vulnerability has been resolved: net: renesas: rswitch: avoid use-after-put for a device tree node The device tree node saved in the rswitch_device structure is used at several driver locations. So passing this node to of_node_put() after the first use is wrong. Move of_node_put() for this node to exit paths.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b46f1e5793298c67efc2f1b917350a2cefacf9d6 , < bf8c6755f02029d1eddc3ff19b870240f054afc7 (git)
Affected: b46f1e5793298c67efc2f1b917350a2cefacf9d6 , < 92007a28f95413058a7268dc84e5f44b700165d1 (git)
Affected: b46f1e5793298c67efc2f1b917350a2cefacf9d6 , < 66b7e9f85b8459c823b11e9af69dbf4be5eb6be8 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.3
Unaffected: 0 , < 6.3 (semver)
Unaffected: 6.6.67 , ≤ 6.6.* (semver)
Unaffected: 6.12.6 , ≤ 6.12.* (semver)
Unaffected: 6.13 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/renesas/rswitch.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "bf8c6755f02029d1eddc3ff19b870240f054afc7",
              "status": "affected",
              "version": "b46f1e5793298c67efc2f1b917350a2cefacf9d6",
              "versionType": "git"
            },
            {
              "lessThan": "92007a28f95413058a7268dc84e5f44b700165d1",
              "status": "affected",
              "version": "b46f1e5793298c67efc2f1b917350a2cefacf9d6",
              "versionType": "git"
            },
            {
              "lessThan": "66b7e9f85b8459c823b11e9af69dbf4be5eb6be8",
              "status": "affected",
              "version": "b46f1e5793298c67efc2f1b917350a2cefacf9d6",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/renesas/rswitch.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.67",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.67",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.6",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: renesas: rswitch: avoid use-after-put for a device tree node\n\nThe device tree node saved in the rswitch_device structure is used at\nseveral driver locations. So passing this node to of_node_put() after\nthe first use is wrong.\n\nMove of_node_put() for this node to exit paths."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.4,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The affected code is entirely in the rswitch platform driver\u0027s probe/init path (`rswitch_probe()` \u2192 `rswitch_init()` \u2192 `rswitch_device_alloc()`/`rswitch_ether_port_init_all()`), reached through local device/driver lifecycle events such as module load, sysfs bind, or device-tree overlay attach \u2014 never from network traffic.\nAC:L - The premature `of_node_put()` executes unconditionally on every probe, so the dangling reference is created deterministically with no race to win and no memory-layout precondition; an attacker able to drive overlay attach/detach or driver rebind controls both the probe and the node teardown.\nPR:N - The vulnerable sequence runs automatically during driver probe at boot or on device-tree overlay/hotplug attach, requiring no authenticated account or credential for the dangling-reference window to be created, consistent with how comparable probe-path OF-node use-after-free issues are scored.\nUI:N - Probe and port initialization happen autonomously as part of device enumeration; no victim must open a file, mount anything, or take any other action.\nS:U - The freed `struct device_node` and all consequences of dereferencing it remain within the kernel\u0027s own security authority, with no crossing into a hypervisor, IOMMU, or other separate security scope.\nC:H - Use-after-free on a device-tree node lets reclaimed heap contents be interpreted as `struct device_node`/property lists by `of_get_phy_mode()`, `of_property_read_u32()`, and `of_parse_phandle()`, yielding attacker-directed pointer dereferences and disclosure of arbitrary kernel memory.\nI:H - The same UAF gives control over a freed object that is subsequently walked and passed to `devm_of_phy_get()` and phandle resolution, so heap spraying the reclaimed allocation provides write/control-flow-hijack primitives; the refcount imbalance additionally corrupts kobject state.\nA:H - Dereferencing the released node reliably produces a kernel oops or panic, and on static base-tree nodes the imbalance triggers the `refcount_t: underflow; use-after-free` path in `of_node_release()`, leaving the network device unusable on an automotive/embedded gateway SoC."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:44:52.040Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/bf8c6755f02029d1eddc3ff19b870240f054afc7"
        },
        {
          "url": "https://git.kernel.org/stable/c/92007a28f95413058a7268dc84e5f44b700165d1"
        },
        {
          "url": "https://git.kernel.org/stable/c/66b7e9f85b8459c823b11e9af69dbf4be5eb6be8"
        }
      ],
      "title": "net: renesas: rswitch: avoid use-after-put for a device tree node",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-55639",
    "datePublished": "2025-01-11T12:29:55.309Z",
    "dateReserved": "2025-01-09T09:51:32.415Z",
    "dateUpdated": "2026-08-05T11:44:52.040Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-55639",
      "date": "2026-09-19",
      "epss": "0.00217",
      "percentile": "0.12462"
    },
    "fkie_nvd": {
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: renesas: rswitch: avoid use-after-put for a device tree node\n\nThe device tree node saved in the rswitch_device structure is used at\nseveral driver locations. So passing this node to of_node_put() after\nthe first use is wrong.\n\nMove of_node_put() for this node to exit paths."
        }
      ],
      "id": "CVE-2024-55639",
      "lastModified": "2025-01-11T13:15:27.663",
      "published": "2025-01-11T13:15:27.663",
      "references": [
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/66b7e9f85b8459c823b11e9af69dbf4be5eb6be8"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/92007a28f95413058a7268dc84e5f44b700165d1"
        },
        {
          "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "url": "https://git.kernel.org/stable/c/bf8c6755f02029d1eddc3ff19b870240f054afc7"
        }
      ],
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Received"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/renesas/rswitch.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "bf8c6755f02029d1eddc3ff19b870240f054afc7",
                    "status": "affected",
                    "version": "b46f1e5793298c67efc2f1b917350a2cefacf9d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "92007a28f95413058a7268dc84e5f44b700165d1",
                    "status": "affected",
                    "version": "b46f1e5793298c67efc2f1b917350a2cefacf9d6",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "66b7e9f85b8459c823b11e9af69dbf4be5eb6be8",
                    "status": "affected",
                    "version": "b46f1e5793298c67efc2f1b917350a2cefacf9d6",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/net/ethernet/renesas/rswitch.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.3"
                  },
                  {
                    "lessThan": "6.3",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.67",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.13",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "7ADA2DEA-E7E0-4C82-A5D7-41BCC88A223F",
                    "versionEndExcluding": "6.6.67",
                    "versionStartIncluding": "6.3",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "0CB1A9BB-F95E-43DD-A2FD-147912FD91E5",
                    "versionEndExcluding": "6.12.6",
                    "versionStartIncluding": "6.7",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "62567B3C-6CEE-46D0-BC2E-B3717FBF7D13",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "5A073481-106D-4B15-B4C7-FB0213B8E1D4",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: renesas: rswitch: avoid use-after-put for a device tree node\n\nThe device tree node saved in the rswitch_device structure is used at\nseveral driver locations. So passing this node to of_node_put() after\nthe first use is wrong.\n\nMove of_node_put() for this node to exit paths."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: renesas: rswitch: evitar el uso posterior a la ejecuci\u00f3n de un nodo del \u00e1rbol de dispositivos El nodo del \u00e1rbol de dispositivos guardado en la estructura rswitch_device se utiliza en varias ubicaciones de controladores. Por lo tanto, pasar este nodo a of_node_put() despu\u00e9s del primer uso es incorrecto. Mueva of_node_put() para este nodo a las rutas de salida."
          }
        ],
        "id": "CVE-2024-55639",
        "lastModified": "2026-08-04T11:22:08.447",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 8.4,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.5,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 5.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2025-01-11T13:15:27.663",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/66b7e9f85b8459c823b11e9af69dbf4be5eb6be8"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/92007a28f95413058a7268dc84e5f44b700165d1"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/bf8c6755f02029d1eddc3ff19b870240f054afc7"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2025-11-25T09:14:48+00:00",
      "cve": "CVE-2024-55639",
      "id": "CVE-2024-55639",
      "initial_release_date": "2024-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: renesas: rswitch: avoid use-after-put for a device tree node",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-55639.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-08-29T01:39:14Z",
      "cve": "CVE-2024-55639",
      "id": "CVE-2024-55639",
      "initial_release_date": "2025-01-12T00:15:22Z",
      "product_status:known_affected": "410",
      "product_status:known_not_affected": "428",
      "product_status:recommended": "358",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-55639",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-55639.json",
      "version": "66"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…