Executive brief
EGO-Planner-v2 is a trajectory planning system for coordinated swarms of micro aerial vehicles. A flaw in its emergency recovery logic can cause multiple UAVs to become permanently stuck in a stopped state, unable to resume flight even after safety conditions improve. This denies swarm availability and prevents mission completion when collisions are detected and emergency stops are triggered.
Technical details
The vulnerability is a denial-of-service condition in the EGOReplanFSM recovery component caused by inconsistent collision semantics between the safety checker and trajectory optimizer. The safety checker uses Euclidean distance and base clearance thresholds to determine when recovery is safe, but the optimizer uses an ellipsoidal distance model with stricter clearance margins. After UAVs enter EMERGENCY_STOP and halt, the safety checker may approve recovery planning, yet the optimizer rejects every recovery trajectory because the current configuration still violates its stricter constraints. Additionally, the optimizer reuses expired trajectories by extrapolation; since stopped UAVs have zero velocity, they are treated as permanent static obstacles. When trajectory generation fails repeatedly via planFromGlobalTraj(10), the FSM loops back to GEN_NEW_TRAJ without retry limits or alternative recovery states, causing indefinite retry loops. No patch is yet available; the vulnerability affects all versions up to commit 5c99a95880401e2599638d567abc0e240396cb42.
Affected products
- ZJU-FAST-Lab EGO-Planner-v2 All versions up to commit 5c99a95880401e2599638d567abc0e240396cb42
Timeline
- 2026-09-10: disclosed: Published on NVD