p PatchFirst

CVE-2026-28434

CVE-2026-28434 · cpp-httplib's default exception handler leaks e.what() to clients via EXCEPTION_WHAT response header

This page contains facts from public vulnerability sources. Check the original advisory before updating.

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.35.0, when a request handler throws a C++ exception and the application has not registered a custom exception handler via set_exception_handler(), the library catches the exception and writes its message directly into the HTTP response as a header named EXCEPTION_WHAT. This header is sent to whoever made the request, with no authentication check and no special configuration required to trigger it. The behavior is on by default. A developer who does not know to opt in to set_exception_handler() will ship a server that leaks internal exception messages to any client. This vulnerability is fixed in 0.35.0.

CVSS 5.3 · Medium · EPSS 0.3% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • cpp-httplib

    Versions
    • < 0.35.0: Affected

    No fix published

  • cpp-httplib Debian:12

    Versions
    • 0.11.4+ds-1
    • 0.11.4+ds-1+deb12u1
    • 0.11.4+ds-2
    • 0.11.4+ds-3
    • 0.13.1+ds-1
    • 0.14.0+ds-1
    • 0.14.1+ds-1
    • 0.14.1+ds-2
    • 0.14.2+ds-1
    • 0.14.3+ds-1
    • 0.14.3+ds-1.1
    • 0.14.3+ds-1.1~exp1
    • 0.15.3+ds-1
    • 0.15.3+ds-2
    • 0.15.3+ds-3
    • 0.16.0+ds-1
    • 0.16.3+ds-1
    • 0.16.3+ds-2
    • 0.18.0+ds-1
    • 0.18.7-1
    • 0.20.1+ds-3
    • 0.25.0+ds-1
    • 0.26.0+ds-2
    • 0.41.0+ds-1
    • 0.41.0+ds-2
    • 0.41.0+ds-3
    • 0.41.0+ds-3~bpo13+1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • cpp-httplib Debian:13

    Versions
    • 0.18.7-1
    • 0.18.7-1+deb13u1
    • 0.20.1+ds-3
    • 0.25.0+ds-1
    • 0.26.0+ds-2
    • 0.41.0+ds-1
    • 0.41.0+ds-2
    • 0.41.0+ds-3
    • 0.41.0+ds-3~bpo13+1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • cpp-httplib Debian:14

    Versions
    • 0.18.7-1
    • 0.20.1+ds-3
    • 0.25.0+ds-1
    • 0.26.0+ds-2
    • 0.41.0+ds-1
    • 0.41.0+ds-2
    • 0.41.0+ds-3~bpo13+1
    Affected ranges
    • ECOSYSTEM: < 0.41.0+ds-3

    Update to 0.41.0+ds-3

  • cpp-httplib Ubuntu:Pro:22.04:LTS

    Versions
    • 0.9.9+ds-1
    • 0.9.10+ds-1
    • 0.10.1+ds-1
    • 0.10.2+ds-1
    • 0.10.3+ds-1
    • 0.10.3+ds-1ubuntu0.1~esm1
    • 0.10.3+ds-1ubuntu0.1~esm2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • cpp-httplib Ubuntu:Pro:24.04:LTS

    Versions
    • 0.13.1+ds-1ubuntu1
    • 0.14.3+ds-1
    • 0.14.3+ds-1.1
    • 0.14.3+ds-1.1build1
    • 0.14.3+ds-1.1build2
    • 0.14.3+ds-1.1ubuntu0.1~esm1
    • 0.14.3+ds-1.1ubuntu0.1~esm2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • cpp-httplib Ubuntu:25.10

    Versions
    • 0.18.7-1
    • 0.18.7-1ubuntu0.25.10.1
    • 0.18.7-1ubuntu0.25.10.2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • cpp-httplib Ubuntu:26.10

    Versions
    • 0.26.0+ds-2ubuntu3
    • 0.26.0+ds-2ubuntu4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • cpp-httplib Ubuntu:Pro:26.04:LTS

    Versions
    • 0.18.7-1
    • 0.26.0+ds-2ubuntu2
    • 0.26.0+ds-2ubuntu3
    • 0.26.0+ds-2ubuntu3+esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →