Executive brief
EGO-Planner-v2 is a motion planning and control system for autonomous unmanned aerial vehicles. A flaw in the trajectory replanning pipeline can cause the planner to use expired or stale trajectory data when calculating vehicle state, potentially leading to unsafe vehicle motion, failed recovery, or unstable behavior after local trajectories expire.
Technical details
The vulnerability is a logic error in EGOReplanFSM::planFromLocalTraj() where the function queries a local trajectory using a time value (t_cur) that may exceed the trajectory's valid duration, without clamping or validation. When the trajectory expires before being refreshed, the trajectory evaluator extrapolates beyond the valid range, producing non-physical position, velocity, and acceleration values. These incorrect values are then used as the initial state for replanning (start_pt_, start_vel_, start_acc_), causing the planner to operate from a state inconsistent with actual vehicle state. This differs from the execution path, which correctly handles expired trajectories by evaluating to the endpoint and zeroing velocity/acceleration. The inconsistency between planner and execution policies allows unsafe trajectory generation and failed recovery behavior.
Affected products
- ZJU-FAST-Lab EGO-Planner-v2 up to commit 5c99a95880401e2599638d567abc0e240396cb42
Timeline
- 2026-09-10: disclosed: CVE-2026-71640 published on NVD