Skip to content

[Aikido] Fix 11 security issues in hono, socket.io-parser, axios and 3 more#426

Closed
aikido-autofix[bot] wants to merge 1 commit intomainfrom
fix/aikido-security-update-packages-20990492-3gut
Closed

[Aikido] Fix 11 security issues in hono, socket.io-parser, axios and 3 more#426
aikido-autofix[bot] wants to merge 1 commit intomainfrom
fix/aikido-security-update-packages-20990492-3gut

Conversation

@aikido-autofix
Copy link
Copy Markdown

@aikido-autofix aikido-autofix bot commented Mar 28, 2026

Upgrade dependencies to fix authorization bypass in static file serving, memory exhaustion in WebSocket parsing, DoS via malformed config objects, and SSE injection attacks.

✅ 11 CVEs resolved by this upgrade, including 1 critical 🚨 CVE

This PR will resolve the following CVEs:

Issue Severity           Description
CVE-2026-29045
🚨 CRITICAL
[hono] URL decoding inconsistency between router and serveStatic allows bypassing route-based middleware protections via encoded slashes (%2F), enabling unauthorized access to protected static resources. This vulnerability permits attackers to circumvent authorization checks through path manipulation.
CVE-2026-29085
MEDIUM
[hono] Improper input validation in streamSSE() allows injection of arbitrary SSE fields through unvalidated carriage return and newline characters in event, id, and retry fields, enabling protocol manipulation and potential information disclosure or DoS attacks.
CVE-2026-29086
MEDIUM
[hono] The setCookie() utility fails to validate semicolons, carriage returns, and newlines in domain and path options, allowing attackers to inject additional cookie attributes through untrusted input. This could lead to cookie manipulation and potential security bypasses.
GHSA-v8w9-8mx6-g223
MEDIUM
[hono] Prototype pollution vulnerability in parseBody({ dot: true }) where specially crafted form field names like __proto__.x create objects with __proto__ properties, potentially enabling prototype pollution if merged unsafely into other objects.
GHSA-gq3j-xvxp-8hrf
LOW
[hono] The basicAuth and bearerAuth middlewares used non-timing-safe string comparison for hash validation, potentially allowing timing-based analysis attacks. The vulnerability has been fixed by implementing constant-time comparison to prevent early termination.
CVE-2026-33151
HIGH
[socket.io-parser] A specially crafted Socket.IO packet can cause the server to buffer a large number of binary attachments, leading to memory exhaustion and denial of service.
CVE-2026-25639
HIGH
[axios] The mergeConfig function crashes with a TypeError when processing configuration objects containing proto as an own property, allowing attackers to trigger denial of service. An attacker can exploit this by providing a malicious configuration object created via JSON.parse().
CVE-2026-33128
HIGH
[h3] Missing newline sanitization in SSE message formatting allows attackers who control message fields to inject arbitrary SSE events, enabling event spoofing, phishing, and denial-of-service attacks on connected clients. This framework-level vulnerability affects any application using SSE with user-controlled data.
GHSA-4hxc-9384-m385
MEDIUM
[h3] The EventStream class fails to sanitize carriage return (\r) characters in data and comment fields, allowing attackers to inject arbitrary SSE events, spoof event types, and split single push() calls into multiple browser-parsed events. This bypasses a prior fix that only addressed newline (\n) injection.
CVE-2025-13465
MEDIUM
[lodash] A prototype pollution vulnerability in _.unset and _.omit functions allows attackers to delete methods from global prototypes via crafted paths. While this prevents property overwriting, it can cause denial of service by removing critical functionality.
AIKIDO-2024-10466
MEDIUM
[viem] Insufficient entropy in the signature algorithm allows nonce reuse across transactions, enabling attackers to recover the private key and compromise cryptographic security.
🔗 Related Tasks

PR-Codex overview

This PR focuses on updating various dependencies in the package.json files and making adjustments to the pnpm-lock.yaml file to reflect these changes. It also includes modifications to the lint-staged configuration.

Detailed summary

  • Updated packageManager in package.json.
  • Modified lint-staged configuration format.
  • Added new dependencies: hono, socket.io-parser, axios, h3, lodash.
  • Updated versions for existing dependencies, including thirdweb and @tanstack/react-query.
  • Adjusted typesVersions format in packages/agw-react/package.json.
  • Updated files array in packages/agw-react/package.json.
  • Reflected version updates in pnpm-lock.yaml for various packages.
  • Removed deprecated or unused packages in the lock file.

The following files were skipped due to too many changes: pnpm-lock.yaml

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@aikido-autofix aikido-autofix bot added the dependencies Pull requests that update a dependency file label Mar 28, 2026
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 28, 2026

⚠️ No Changeset found

Latest commit: 8aeb0fa

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@cursor
Copy link
Copy Markdown

cursor bot commented Mar 28, 2026

PR Summary

Low Risk
Low risk because changes are confined to package metadata and pnpm overrides; primary risk is unintended runtime/test breakage from forced transitive versions.

Overview
Adds pnpm.overrides pins for hono, socket.io-parser, axios, h3, and lodash (plus existing tmp) to remediate reported CVEs by forcing patched versions across the workspace.

Also updates @abstract-foundation/agw-react package metadata formatting and bumps the thirdweb devDependency to a newer nightly build; no runtime code changes are included.

Written by Cursor Bugbot for commit 8aeb0fa. This will update automatically on new commits. Configure here.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

"socket.io-parser@<=4.2.6": "4.2.6",
"axios@<=1.13.5": "1.13.5",
"h3@<=1.15.9": "1.15.9",
"lodash@<=4.17.23": "4.17.23"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overrides pin exact versions instead of minimum ranges

Medium Severity

The five new pnpm overrides use exact version pins (e.g., "hono@<=4.12.7": "4.12.7") instead of >= range targets (e.g., ">=4.12.7"), which all existing overrides in this file consistently use. Exact pins prevent transitive dependencies from automatically resolving to newer patch versions that may contain additional security fixes. For instance, if hono 4.12.8 ships a future CVE fix, this override would still force resolution to 4.12.7. Given that this PR is specifically about security, these overrides undermine their own purpose over time.

Fix in Cursor Fix in Web

"react": ">=18.3.1",
"react-dom": ">=18.3.1",
"thirdweb": "^5.68.0",
"thirdweb": "5.93.5-nightly-b51157c0ff17e9535029fc8790cfa8538d1c995f-20250326000337",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nightly thirdweb build pinned in devDependencies

Medium Severity

The thirdweb devDependency was changed from ^5.68.0 to a nightly build (5.93.5-nightly-...). Nightly builds are typically ephemeral and may be unpublished from npm, which would break pnpm install for all contributors. This change appears unrelated to the security-fix purpose of this PR and looks like it was accidentally included from local testing.

Fix in Cursor Fix in Web

@aikido-autofix aikido-autofix bot closed this Mar 31, 2026
@aikido-autofix aikido-autofix bot deleted the fix/aikido-security-update-packages-20990492-3gut branch March 31, 2026 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants