CVE-2026-26011: Nav2 Pose With Covariance Stamped Missing Covariance Validation

The validateMsg() overload for geometry_msgs::msg::PoseWithCovarianceStamped checks the header and pose sub-fields but never validates the 36-element pose.covariance array. Unsanitized non-finite or extreme (>1e9) covariance entries flow into AMCL's pf_init()/pf_cluster_stats(), where a negative cluster index (-1) is used as an array subscript and corrupts h

Provally CuratedPublic repositoryHighHigh confidenceVerifiedApache-2.0C++
greprules fetch cve-2026-26011-nav2-pose-with-covariance-stamped-missing-covariance-validation --engine opengrep

Description

The validateMsg() overload for geometry_msgs::msg::PoseWithCovarianceStamped checks the header and pose sub-fields but never validates the 36-element pose.covariance array. Unsanitized non-finite or extreme (>1e9) covariance entries flow into AMCL's pf_init()/pf_cluster_stats(), where a negative cluster index (-1) is used as an array subscript and corrupts h