Safeguard
Vulnerability Analysis•

CVE-2026-26011: Nav2 AMCL Heap Out-of-Bounds Write

Nav2 1.3.11 and earlier has a heap write in AMCL reachable by one crafted pose message. Rated 9.8. No patched release is listed; apply DDS controls.

Safeguard Security Team
3 min read

CVE-2026-26011 is a critical heap out-of-bounds write (CVSS 9.8) in Nav2's AMCL localization, reachable by one crafted message on the initial pose topic. The advisory lists no patched release, so check the project and restrict who can publish on ROS 2. The record does not list it in CISA's KEV catalog, and the advisory we read does not report exploitation.

What's affected

  • Nav2 (navigation2) 1.3.11 and earlier, per the record
  • The advisory says the Jazzy 1.3.11 release and the main branch were affected when it was published
  • No patched release is listed there

The advisory notes that deployments without SROS2 authentication or topic access control are exposed. Read the advisory for the current state of the fix, since the project may have moved on.

How to check if you're exposed

Check the version of the Nav2 packages on each robot or simulator:

ros2 pkg list | grep nav2
apt list --installed 2>/dev/null | grep nav2

The second command applies to Debian style ROS installs. Then check whether your robots share a DDS domain with other machines, such as laptops, simulators or visitors on the same network. Anyone who can publish on the domain can reach the topic. Check the advisory for fixed releases before you plan the upgrade.

What to do now

  1. Read the advisory for the latest fix status and upgrade as soon as a patched release exists.
  2. Turn on SROS2 authentication and topic access control so only trusted nodes can publish to the initial pose topic.
  3. Separate robot networks from general office and guest networks, and use distinct DDS domain IDs per deployment.
  4. Add monitoring that restarts localization and alerts when the node dies, so a crash is noticed.
  5. Record the exposure in your risk register until a fixed release is installed.

Why it matters

CWE-787 and CWE-122 describe a write outside a heap buffer. The advisory explains two stages. Extreme covariance values in an initial pose message reach the particle filter initialization without sanitizing, and out-of-range float to integer conversions in the kd-tree key computation are undefined behavior that can make a cluster lookup return minus one. Then the cluster statistics code guards the index only with an assert, which release builds remove, so a write lands before the start of the buffer.

The practical outcome the advisory states is a single message denial of service that stops localization, with possible heap corruption beyond that. It does not demonstrate more, and we make no stronger claim.

For robotics teams the takeaway is about trust boundaries. ROS 2 topics are open to anyone on the domain by default. Without authentication, a message from any machine on the network is treated like one from your own stack.

Quick check

Is there a patched version?

Not in the advisory we read. Check the project's page for the current status before you plan.

What can I do today?

Use SROS2 authentication and access control, and keep the DDS domain off untrusted networks, as the advisory notes exposed deployments lack these.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.