Debian Package Tracker
Register | Log in
Subscribe

h2o

optimized HTTP/1.x, HTTP/2 server

Choose email to subscribe with

general
  • source: h2o (main)
  • version: 2.2.5+dfsg2-7
  • maintainer: Apollon Oikonomopoulos (DMD) (LowNMU)
  • uploaders: Anton Gladky [DMD]
  • arch: all any
  • std-ver: 4.5.0
  • VCS: Git (Browse)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 2.2.5+dfsg2-6
  • oldstable: 2.2.5+dfsg2-7
versioned links
  • 2.2.5+dfsg2-6: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.2.5+dfsg2-7: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • h2o
  • h2o-doc
  • libh2o-dev
  • libh2o-dev-common
  • libh2o-evloop-dev
  • libh2o-evloop0.13
  • libh2o0.13
package is gone
This package is not in any development repository. This probably means that the package has been removed (or has been renamed). Thus the information here is of little interest ... the package is going to disappear unless someone takes it over and reintroduces it.
action needed
Debci reports failed tests high
  • unstable: pass (log)
    The tests ran in 0:00:46
    Last run: 2025-05-15T07:54:45.000Z
    Previous status: unknown

  • testing: pass (log)
    The tests ran in 0:00:50
    Last run: 2025-04-05T22:04:35.000Z
    Previous status: unknown

  • stable: fail (log)
    The tests ran in 0:00:14
    Last run: 2025-08-10T21:30:10.000Z
    Previous status: unknown

Created: 2025-08-10 Last update: 2026-07-27 09:00
3 security issues in sid high

There are 3 open security issues in sid.

3 important issues:
  • CVE-2023-41337: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. In version 2.3.0-beta2 and prior, when h2o is configured to listen to multiple addresses or ports with each of them using different backend servers managed by multiple entities, a malicious backend entity that also has the opportunity to observe or inject packets exchanged between the client and h2o may misdirect HTTPS requests going to other backends and observe the contents of that HTTPS request being sent. The attack involves a victim client trying to resume a TLS connection and an attacker redirecting the packets to a different address or port than that intended by the client. The attacker must already have been configured by the administrator of h2o to act as a backend to one of the addresses or ports that the h2o instance listens to. Session IDs and tickets generated by h2o are not bound to information specific to the server address, port, or the X.509 certificate, and therefore it is possible for an attacker to force the victim connection to wrongfully resume against a different server address or port on which the same h2o instance is listening. Once a TLS session is misdirected to resume to a server address / port that is configured to use an attacker-controlled server as the backend, depending on the configuration, HTTPS requests from the victim client may be forwarded to the attacker's server. An H2O instance is vulnerable to this attack only if the instance is configured to listen to different addresses or ports using the listen directive at the host level and the instance is configured to connect to backend servers managed by multiple entities. A patch is available at commit 35760540337a47e5150da0f4a66a609fad2ef0ab. As a workaround, one may stop using using host-level listen directives in favor of global-level ones.
  • CVE-2024-25622: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. The configuration directives provided by the headers handler allows users to modify the response headers being sent by h2o. The configuration file of h2o has scopes, and the inner scopes (e.g., path level) are expected to inherit the configuration defined in outer scopes (e.g., global level). However, if a header directive is used in the inner scope, all the definition in outer scopes are ignored. This can lead to headers not being modified as expected. Depending on the headers being added or removed unexpectedly, this behavior could lead to unexpected client behavior. This vulnerability is fixed in commit 123f5e2b65dcdba8f7ef659a00d24bd1249141be.
  • CVE-2024-45397: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. When an HTTP request using TLS/1.3 early data on top of TCP Fast Open or QUIC 0-RTT packets is received and the IP-address-based access control is used, the access control does not detect and prohibit HTTP requests conveyed by packets with a spoofed source address. This behavior allows attackers on the network to execute HTTP requests from addresses that are otherwise rejected by the address-based access control. The vulnerability has been addressed in commit 15ed15a. Users may disable the use of TCP FastOpen and QUIC to mitigate the issue.
Created: 2023-12-24 Last update: 2025-05-02 22:55
3 security issues in trixie high

There are 3 open security issues in trixie.

3 important issues:
  • CVE-2023-41337: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. In version 2.3.0-beta2 and prior, when h2o is configured to listen to multiple addresses or ports with each of them using different backend servers managed by multiple entities, a malicious backend entity that also has the opportunity to observe or inject packets exchanged between the client and h2o may misdirect HTTPS requests going to other backends and observe the contents of that HTTPS request being sent. The attack involves a victim client trying to resume a TLS connection and an attacker redirecting the packets to a different address or port than that intended by the client. The attacker must already have been configured by the administrator of h2o to act as a backend to one of the addresses or ports that the h2o instance listens to. Session IDs and tickets generated by h2o are not bound to information specific to the server address, port, or the X.509 certificate, and therefore it is possible for an attacker to force the victim connection to wrongfully resume against a different server address or port on which the same h2o instance is listening. Once a TLS session is misdirected to resume to a server address / port that is configured to use an attacker-controlled server as the backend, depending on the configuration, HTTPS requests from the victim client may be forwarded to the attacker's server. An H2O instance is vulnerable to this attack only if the instance is configured to listen to different addresses or ports using the listen directive at the host level and the instance is configured to connect to backend servers managed by multiple entities. A patch is available at commit 35760540337a47e5150da0f4a66a609fad2ef0ab. As a workaround, one may stop using using host-level listen directives in favor of global-level ones.
  • CVE-2024-25622: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. The configuration directives provided by the headers handler allows users to modify the response headers being sent by h2o. The configuration file of h2o has scopes, and the inner scopes (e.g., path level) are expected to inherit the configuration defined in outer scopes (e.g., global level). However, if a header directive is used in the inner scope, all the definition in outer scopes are ignored. This can lead to headers not being modified as expected. Depending on the headers being added or removed unexpectedly, this behavior could lead to unexpected client behavior. This vulnerability is fixed in commit 123f5e2b65dcdba8f7ef659a00d24bd1249141be.
  • CVE-2024-45397: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. When an HTTP request using TLS/1.3 early data on top of TCP Fast Open or QUIC 0-RTT packets is received and the IP-address-based access control is used, the access control does not detect and prohibit HTTP requests conveyed by packets with a spoofed source address. This behavior allows attackers on the network to execute HTTP requests from addresses that are otherwise rejected by the address-based access control. The vulnerability has been addressed in commit 15ed15a. Users may disable the use of TCP FastOpen and QUIC to mitigate the issue.
Created: 2023-12-24 Last update: 2025-02-27 05:02
1 security issue in buster high

There is 1 open security issue in buster.

1 important issue:
  • CVE-2023-41337: h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. In version 2.3.0-beta2 and prior, when h2o is configured to listen to multiple addresses or ports with each of them using different backend servers managed by multiple entities, a malicious backend entity that also has the opportunity to observe or inject packets exchanged between the client and h2o may misdirect HTTPS requests going to other backends and observe the contents of that HTTPS request being sent. The attack involves a victim client trying to resume a TLS connection and an attacker redirecting the packets to a different address or port than that intended by the client. The attacker must already have been configured by the administrator of h2o to act as a backend to one of the addresses or ports that the h2o instance listens to. Session IDs and tickets generated by h2o are not bound to information specific to the server address, port, or the X.509 certificate, and therefore it is possible for an attacker to force the victim connection to wrongfully resume against a different server address or port on which the same h2o instance is listening. Once a TLS session is misdirected to resume to a server address / port that is configured to use an attacker-controlled server as the backend, depending on the configuration, HTTPS requests from the victim client may be forwarded to the attacker's server. An H2O instance is vulnerable to this attack only if the instance is configured to listen to different addresses or ports using the listen directive at the host level and the instance is configured to connect to backend servers managed by multiple entities. A patch is available at commit 35760540337a47e5150da0f4a66a609fad2ef0ab. As a workaround, one may stop using using host-level listen directives in favor of global-level ones.
Created: 2023-12-24 Last update: 2024-05-03 05:39
9 low-priority security issues in bookworm low

There are 9 open security issues in bookworm.

9 issues left for the package maintainer to handle:
  • CVE-2025-8671: (needs triaging) A mismatch caused by client-triggered server-sent stream resets between HTTP/2 specifications and the internal architectures of some HTTP/2 implementations may result in excessive server resource consumption leading to denial-of-service (DoS). By opening streams and then rapidly triggering the server to reset them—using malformed frames or flow control errors—an attacker can exploit incorrect stream accounting. Streams reset by the server are considered closed at the protocol level, even though backend processing continues. This allows a client to cause the server to handle an unbounded number of concurrent streams on a single connection. This CVE will be updated as affected product details are released.
  • CVE-2023-41337: (needs triaging) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. In version 2.3.0-beta2 and prior, when h2o is configured to listen to multiple addresses or ports with each of them using different backend servers managed by multiple entities, a malicious backend entity that also has the opportunity to observe or inject packets exchanged between the client and h2o may misdirect HTTPS requests going to other backends and observe the contents of that HTTPS request being sent. The attack involves a victim client trying to resume a TLS connection and an attacker redirecting the packets to a different address or port than that intended by the client. The attacker must already have been configured by the administrator of h2o to act as a backend to one of the addresses or ports that the h2o instance listens to. Session IDs and tickets generated by h2o are not bound to information specific to the server address, port, or the X.509 certificate, and therefore it is possible for an attacker to force the victim connection to wrongfully resume against a different server address or port on which the same h2o instance is listening. Once a TLS session is misdirected to resume to a server address / port that is configured to use an attacker-controlled server as the backend, depending on the configuration, HTTPS requests from the victim client may be forwarded to the attacker's server. An H2O instance is vulnerable to this attack only if the instance is configured to listen to different addresses or ports using the listen directive at the host level and the instance is configured to connect to backend servers managed by multiple entities. A patch is available at commit 35760540337a47e5150da0f4a66a609fad2ef0ab. As a workaround, one may stop using using host-level listen directives in favor of global-level ones.
  • CVE-2023-44487: (needs triaging) The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can reset many streams quickly, as exploited in the wild in August through October 2023.
  • CVE-2024-25622: (needs triaging) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. The configuration directives provided by the headers handler allows users to modify the response headers being sent by h2o. The configuration file of h2o has scopes, and the inner scopes (e.g., path level) are expected to inherit the configuration defined in outer scopes (e.g., global level). However, if a header directive is used in the inner scope, all the definition in outer scopes are ignored. This can lead to headers not being modified as expected. Depending on the headers being added or removed unexpectedly, this behavior could lead to unexpected client behavior. This vulnerability is fixed in commit 123f5e2b65dcdba8f7ef659a00d24bd1249141be.
  • CVE-2024-45397: (needs triaging) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. When an HTTP request using TLS/1.3 early data on top of TCP Fast Open or QUIC 0-RTT packets is received and the IP-address-based access control is used, the access control does not detect and prohibit HTTP requests conveyed by packets with a spoofed source address. This behavior allows attackers on the network to execute HTTP requests from addresses that are otherwise rejected by the address-based access control. The vulnerability has been addressed in commit 15ed15a. Users may disable the use of TCP FastOpen and QUIC to mitigate the issue.
  • CVE-2026-44452: (postponed; to be fixed through a stable update) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit 8dc37cb, when h2o receives a ClientHello message over TLS or QUIC and it contains a zero-length SNI extension, the h2o server runs over the zero-length hostname while trying to copy the hostname, assuming that it is NULL-terminated. This is a potential denial-of-service attack vector in sense that it might trigger segmentation violation. This issue has been fixed by commit 8dc37cb.
  • CVE-2026-44453: (postponed; to be fixed through a stable update) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit 6b5370d, h2o is vulnerable to a Denial of Service attack when calling alloca under certain conditions. When serving static files, h2o builds the file path on stack, by calling alloca. The maximum size of the memory allocated using alloca can be as huge as ~600KB, which exceeds the default pthread stack size used by musl libc (128KB). If the amount of memory allocated by alloca exceeds the stack size, the h2o server crashes with a segmentation fault, while it tries to touch the guard page. This issue has been fixed by commit 6b5370d.
  • CVE-2026-54340: (postponed; to be fixed through a stable update) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit 9265bdd, there is an HTTP/2 state amplification issue that combines HPACK decompression amplification with Slowloris-style stream stalling. Amplified decoded header state can be retained by stalled HTTP/2 streams, and depending on the configuration, additional limits are needed to bound decoded header state and prevent attack. This issue has been fixed by commit 9265bdd.
  • CVE-2026-55213: (postponed; to be fixed through a stable update) h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1, when h2o processes a QPACK instruction sent from the peer over HTTP/3, lib/http3/qpack.c might allocate an on-stack buffer as large as approximately 800 KB by calling alloca, which exceeds the default pthread stack size used by musl libc and causes the h2o server to crash with a segmentation fault while touching the guard page. This issue is fixed in commit edd7a120bfc4af11ac0cbebce2a43cc1f93f9af1.

You can find information about how to handle these issues in the security team's documentation.

Created: 2023-06-10 Last update: 2026-07-27 00:30
news
[rss feed]
  • [2025-05-26] Removed 2.2.5+dfsg2-11 from unstable (Debian FTP Masters)
  • [2025-05-03] h2o REMOVED from testing (Debian testing watch)
  • [2025-01-01] h2o 2.2.5+dfsg2-11 MIGRATED to testing (Debian testing watch)
  • [2024-12-30] Accepted h2o 2.2.5+dfsg2-11 (source) into unstable (Gianfranco Costamagna)
  • [2024-12-30] Accepted h2o 2.2.5+dfsg2-10 (source) into unstable (Gianfranco Costamagna)
  • [2024-10-20] h2o 2.2.5+dfsg2-9 MIGRATED to testing (Debian testing watch)
  • [2024-10-18] Accepted h2o 2.2.5+dfsg2-9 (source) into unstable (Anton Gladky)
  • [2024-08-10] h2o REMOVED from testing (Debian testing watch)
  • [2024-05-03] h2o 2.2.5+dfsg2-8.1 MIGRATED to testing (Debian testing watch)
  • [2024-02-28] Accepted h2o 2.2.5+dfsg2-8.1 (source) into unstable (Lukas Märdian)
  • [2024-02-01] Accepted h2o 2.2.5+dfsg2-8.1~exp1 (source) into experimental (Graham Inggs)
  • [2023-10-29] Accepted h2o 2.2.5+dfsg2-2+deb10u2 (source) into oldoldstable (Anton Gladky)
  • [2023-10-22] h2o 2.2.5+dfsg2-8 MIGRATED to testing (Debian testing watch)
  • [2023-10-22] h2o 2.2.5+dfsg2-8 MIGRATED to testing (Debian testing watch)
  • [2023-10-20] Accepted h2o 2.2.5+dfsg2-8 (source) into unstable (Anton Gladky)
  • [2023-04-11] h2o 2.2.5+dfsg2-7 MIGRATED to testing (Debian testing watch)
  • [2023-03-21] Accepted h2o 2.2.5+dfsg2-7 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2022-04-21] h2o 2.2.5+dfsg2-6.2 MIGRATED to testing (Debian testing watch)
  • [2022-04-19] Accepted h2o 2.2.5+dfsg2-6.2 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2021-10-19] h2o 2.2.5+dfsg2-6.1 MIGRATED to testing (Debian testing watch)
  • [2021-10-17] Accepted h2o 2.2.5+dfsg2-6.1 (source) into unstable (Chris Hofstaedtler) (signed by: Christian Hofstaedtler)
  • [2020-12-21] h2o 2.2.5+dfsg2-6 MIGRATED to testing (Debian testing watch)
  • [2020-12-16] Accepted h2o 2.2.5+dfsg2-6 (source) into unstable (Anton Gladky)
  • [2020-05-04] h2o 2.2.5+dfsg2-5 MIGRATED to testing (Debian testing watch)
  • [2020-05-02] Accepted h2o 2.2.5+dfsg2-5 (source) into unstable (Anton Gladky)
  • [2020-05-01] Accepted h2o 2.2.5+dfsg2-5~exp1 (source) into experimental (Anton Gladky)
  • [2020-04-28] Accepted h2o 2.2.5+dfsg2-4 (source) into unstable (Anton Gladky)
  • [2019-08-31] Accepted h2o 2.2.5+dfsg2-2+deb10u1 (source amd64 all) into proposed-updates->stable-new, proposed-updates (Anton Gladky)
  • [2019-08-25] Accepted h2o 2.2.5+dfsg2-3~bpo9+1 (source) into stretch-backports->backports-policy, stretch-backports (Anton Gladky)
  • [2019-08-24] Accepted h2o 2.2.5+dfsg2-2+deb10u1 (source amd64 all) into stable->embargoed, stable (Anton Gladky)
  • 1
  • 2
bugs [bug history graph]
  • all: 0
links
  • homepage
  • buildd: logs, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • debci

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing