Skip to content

fix(deps): force patched cowboy 2.18 (CVE-2026-43966) - #234

Merged
Taure merged 1 commit into
mainfrom
fix/cowboy-cve-2026-43966
Jul 29, 2026
Merged

fix(deps): force patched cowboy 2.18 (CVE-2026-43966)#234
Taure merged 1 commit into
mainfrom
fix/cowboy-cve-2026-43966

Conversation

@Taure

@Taure Taure commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Security: cowboy < 2.16.0 has an HTTP request/response-splitting vuln (GHSA-w4f7-4cxr-rv3c / CVE-2026-43966, published today). nova pulls cowboy 2.15.0 transitively, so the repo's Audit now fails closed (main included; it just hasn't re-run since the CVE was published).

Promotes cowboy to a direct dep pinned ~> 2.16 (resolves to 2.18.0), overriding nova's transitive 2.15.0. App boots and the full matchmaker CT suite passes on 2.18. Root fix is an upstream nova cowboy bump (PR incoming); revert this override once nova releases it.

Unblocks the Audit gate on all open asobi PRs.

cowboy < 2.16.0 has an HTTP request/response splitting vuln (GHSA-w4f7-4cxr-rv3c,
CVE-2026-43966, published 2026-07-29). nova pulls cowboy 2.15.0 transitively;
promote it to a direct dep pinned ~> 2.16 (resolves to 2.18.0) to override that
until nova ships a patched cowboy. App boots + full matchmaker suite green on 2.18.

Root fix tracked upstream (novaframework/nova cowboy bump).
@Taure
Taure merged commit 4a48e1d into main Jul 29, 2026
15 checks passed
@Taure
Taure deleted the fix/cowboy-cve-2026-43966 branch July 29, 2026 16:12
Taure added a commit that referenced this pull request Aug 7, 2026
cowboy became a direct dependency in #234 to force a patched 2.18 past
nova's exact 2.15.0 pin, which was vulnerable to CVE-2026-43966. nova
0.15.3 pins 2.18.0 itself, so the override has done its job and asobi
should not be second-guessing which cowboy its web framework runs on.

cowboy still resolves to 2.18.0, now transitively at depth 1 rather than
declared at depth 0, so nothing about the running code changes and the
CVE stays fixed. rebar3 audit reports no vulnerabilities across all 21
dependencies.

asobi does call cowboy_req directly, 186 times, so this is not a case of
dropping something unused. It is that nova pins cowboy exactly, which
leaves a direct constraint here redundant when it agrees and a build
failure when it does not.

Verified on a clean _build: eunit 1661 tests, ct 341 tests against
Postgres 17, plus audit, xref, dialyzer and fmt.
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