CVE-2024-25198

Inappropriate pointer order of laser_scan_filter_.reset() and tf_listener_.reset() (amcl_node.cpp) in Open Robotics Robotic Operating Sytstem 2 (ROS2) and Nav2…

Critical · published February 20, 2024

CVSS v3.1
9.1
EPSS
1%
Percentile
53.0
In the wild
Unconfirmed
What it is

🔥 In the heart of Open Robotics' ROS2 lies a precarious flaw: a classic use-after-free issue that could spell disaster if not addressed! 🚨 Think of a chef who forgets to check the order of ingredients before cooking. If they toss the wrong item in at the wrong time, it could ruin the dish completely — that's what's happening here with pointer management in the code. An attacker could exploit this vulnerability to cause unexpected behavior or crashes in ROS2 applications, potentially leading to system failures in critical robotic processes. Given the critical nature of robotics, this could result in catastrophic failures in real-world applications. We definitely don't want our robots going rogue!

Put simply

Think of a chef who forgets to check the order of ingredients before cooking. If they toss the wrong item in at the wrong time, it could ruin the dish completely — that's what's happening here with pointer management in the code. In the amcl_node.cpp file, the inappropriate order of the reset calls for laser_scan_filter_ and tf_listener_ leads to a use-after-free scenario, allowing memory access after it has been freed, which can be exploited by attackers.

What to do

An attacker could exploit this vulnerability to cause unexpected behavior or crashes in ROS2 applications, potentially leading to system failures in critical robotic processes. Given the critical nature of robotics, this could result in catastrophic failures in real-world applications. We definitely don't want our robots going rogue! Developers should urgently patch to the latest versions that address this flaw and review pointer management practices to prevent future occurrences. Regularly audit your code for similar vulnerabilities to ensure your systems are robust. You've got this! With prompt action, you'll have your systems secured and running smoothly in no time! 🛡️

The record
Technical detail
CVSS v3.1
9.1 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00710 · 53.0th percentile
Published
2024-02-20T00:00Z
EPSS history
Timeline
  • 20 FEB 00:00Z
    Inappropriate pointer order of laser_scan_filter_.reset() and tf_listener_.reset() (amcl_node.cpp) in Open Robotics Robotic Operating Sytstem 2 (ROS2) and Nav2…
    cvelistv5