Skip to content

Comments

fix: depentabot h3#2868

Merged
mgrabina merged 1 commit intomainfrom
fix/dependabot-h3-request-smuggling
Feb 10, 2026
Merged

fix: depentabot h3#2868
mgrabina merged 1 commit intomainfrom
fix/dependabot-h3-request-smuggling

Conversation

@mgrabina
Copy link
Contributor

@mgrabina mgrabina commented Feb 10, 2026

Fix: Resolve h3 HTTP Request Smuggling vulnerability (Dependabot)

Summary

Adds a Yarn resolution to force the transitive dependency h3 to ^1.15.5, fixing a critical HTTP Request Smuggling issue (Dependabot alert).

Background

  • Vulnerability: In h3 ≤ 1.15.4, Transfer-Encoding is checked in a case-sensitive way. Requests with Transfer-Encoding: ChuNked (or other casing) are treated as having no body, which can lead to TE.TE desync and request smuggling when running behind L4 proxies or non-header-normalizing infrastructure.
  • Exposure: We don’t depend on h3 directly. It is pulled in transitively:
    • wagmi@wagmi/connectors@walletconnect/ethereum-provider@walletconnect/keyvaluestorageunstorageh3
  • Our lockfile had h3@1.13.0 (vulnerable). The fix is in h3@1.15.5+.

Approach

  • Chosen fix: A single resolutions entry in package.json to force the whole dependency tree to use h3@^1.15.5.
  • Why resolutions: We can’t “upgrade h3” as a direct dependency because it’s transitive. Resolutions tell Yarn to satisfy every h3 request with the patched version, without upgrading wagmi/WalletConnect/unstorage and without risking breaking changes from a larger unstorage upgrade.
  • Risk: Low — 1.15.5 is a patch release; no intentional API changes. Unstorage’s latest already uses h3@^1.15.5; we’re aligning the rest of the tree with that.

Changes

  • package.json: Added:
    "resolutions": {
      "h3": "^1.15.5"
    }
  • yarn.lock: Regenerated so all h3 usages resolve to 1.15.5+.

Follow-up

  • When the WalletConnect/unstorage stack eventually depends on h3@^1.15.5 and the lockfile naturally picks it up, this resolution can be removed.
  • Resolves the Dependabot alert for h3.

Closes AAVE-3654

@vercel
Copy link

vercel bot commented Feb 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
interface Ready Ready Preview, Comment Feb 10, 2026 5:05pm

Request Review

@mgrabina mgrabina marked this pull request as ready for review February 10, 2026 17:00
@github-actions
Copy link

github-actions bot commented Feb 10, 2026

❌ CI run has failed!
Please see logs at https://github.com/aave/interface/actions/runs/21874645431'

@mgrabina
Copy link
Contributor Author

@codex

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Delightful!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@mgrabina mgrabina merged commit 80370c9 into main Feb 10, 2026
14 checks passed
@mgrabina mgrabina deleted the fix/dependabot-h3-request-smuggling branch February 10, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants