CVE-2026-54716: Valhalla: Degenerate exclude_polygons (collinear points, zero area) causes OOM in /sources_to_targets

Published Sep 17, 2026
·
Updated

Valhalla is an open source routing engine and accompanying libraries for use with OpenStreetMap data. In 3.7.0 and earlier, a POST request to /sourcestotargets containing an excludepolygons ring formed by three collinear points can cause unbounded memory growth in the worker. The zero-area geometry, rather than the other request options, triggers processing in src/loki/polygonsearch.cc until the process is terminated by the out-of-memory killer. A single unauthenticated request can therefore stop a public-facing worker. Other endpoints that accept excludepolygons, including /route, were not verified as affected. No fixed version is available as of this review.

Affected Software

1 affected component
Valhalla Valhalla<=3.7.0

Event History

Sep 17, 2026
CVE Published
via MITRE·07:42 PM
Data Sourced
via MITRE·07:42 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments running Valhalla 3.7.0 or earlier with a publicly reachable /sources_to_targets endpoint are exposed, because a single unauthenticated POST request can terminate a worker. The issue is specifically verified for /sources_to_targets; other endpoints that accept exclude_polygons, including /route, were not verified as affected.

2

What does an attacker need to send?

An attacker needs only to submit a POST request containing an exclude_polygons ring made of three collinear points. No authentication or user interaction is required, and the zero-area geometry is the trigger rather than other request options.

3

What can be done while no fixed version is available?

Restrict or filter access to /sources_to_targets where possible, particularly for untrusted clients. Reject requests whose exclude_polygons rings have zero area or consist of three collinear points before they reach Valhalla.

4

How can I determine whether a worker has been affected?

Affected workers exhibit unbounded memory growth while processing a /sources_to_targets request with the malformed exclude_polygons ring, followed by termination by the out-of-memory killer. Review worker memory metrics and system logs for OOM-killer termination around such requests.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203