Skip to content

libmicrohttpd 1.0.10 (request smuggling fixes), built by tools/mhd/mhdBuild.sh - #26

Merged
kzangeli merged 1 commit into
mainfrom
build/mhd-1.0.10
Oct 13, 2026
Merged

kzangeli merged 1 commit into
mainfrom
build/mhd-1.0.10

Conversation

@kzangeli

@kzangeli kzangeli commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Why

The stack pins libmicrohttpd 1.0.2 (July 2025). Since then (NEWS):

  • 1.0.4, 1.0.5: HTTP request smuggling (CWE-444) - relevant behind a gateway, which is how the Data Space Connector deploys a broker (APISIX in front)
  • 1.0.7: "modest security vulnerabilities" (A. Ramos); 1.0.8, 1.0.9: further security fixes
  • 1.0.3: connection-list traversal with suspended connections; 1.0.6: integer overflows, rare leaks; 1.0.10: minor bugs

What

  • tools/mhd/mhdBuild.sh - the ONE place the stack builds libmicrohttpd: downloads the release tarball, refuses it unless its SHA-256 matches the pin (pins for 1.0.2 and 1.0.10, each from a tarball whose GPG signature was checked against the GNU keyring - Christian Grothoff), applies tools/mhd/patches/<version>/*.patch (none yet), builds, installs. --prefix, --sudo, -- <configure options>.
  • docker/Dockerfile.ci: MHD 1.0.10 via the script (with TLS, as before; the gnutls check at the end unchanged).
  • baseimage.yml: the image is rebuilt when tools/mhd/** changes.

Tested

  • The script: 1.0.10 built with TLS into a scratch prefix; an unpinned version and a wrong checksum are refused, nothing installed.
  • coraine against it (LD_LIBRARY_PATH, the broker maps libmicrohttpd.so.12.62.8): --tags https,notification,subscription,auth 181/181. Same soname (.so.12): a drop-in.

After the merge

The image workflow publishes coraine-ci:<date>-<sha>; a coraine PR then moves its pins to it and builds the published image and the bare runners (ci-env.sh) with the same script.

Merge after: nothing

🤖 Generated with Claude Code

1.0.2 -> 1.0.10: 1.0.4 and 1.0.5 fix HTTP request smuggling (CWE-444), 1.0.7-1.0.9
security fixes, 1.0.3 a connection-list traversal bug, 1.0.6 integer overflows and
leaks (NEWS).

tools/mhd/mhdBuild.sh is the one place the stack builds it: the release tarball
from ftp.gnu.org, accepted only with its pinned SHA-256 (each pin taken from a
tarball whose GPG signature was checked), the patches in patches/<version>/
applied. The CI image uses it; the image is rebuilt when tools/mhd changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kzangeli
kzangeli merged commit f4804c2 into main Oct 13, 2026
1 check passed
@kzangeli
kzangeli deleted the build/mhd-1.0.10 branch October 13, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant