fix: Fix 10 critical issues in axios, defu, hono and 3 more#28356
fix: Fix 10 critical issues in axios, defu, hono and 3 more#28356aikido-autofix[bot] wants to merge 1 commit intomasterfrom
Conversation
|
There was a problem hiding this comment.
No issues found across 3 files
Architecture diagram
sequenceDiagram
participant Attacker as Client / Attacker
participant Hono as Hono (Middleware)
participant App as Application Logic (Defu/YAML)
participant FS as File System / SSG
participant Outbound as Axios / LangChain
participant IntSvc as Internal Service (localhost)
Note over Attacker, IntSvc: Security Boundary Hardening (Inbound & Outbound)
Note over Attacker, Hono: 1. Inbound Request Handling
Attacker->>Hono: GET /static//etc/passwd (Repeated slashes)
Hono->>Hono: CHANGED: Normalize path (serveStatic)
Hono->>Hono: CHANGED: Validate IP (IPv4-mapped-IPv6)
alt Unauthorized / Malformed
Hono-->>Attacker: 403 Forbidden / 404 Not Found
else Valid Access
Hono->>FS: Read authorized static file
end
Note over Attacker, App: 2. Input Parsing & Object Merging
Attacker->>App: POST payload with __proto__ or Deep YAML
App->>App: CHANGED: Parse YAML (Stack depth limit)
App->>App: CHANGED: Merge objects (Ignore inherited properties)
Note right of App: Prevents Prototype Pollution & Parser DoS
Note over App, IntSvc: 3. Outbound Request Security (SSRF/Proxy)
App->>Outbound: Request external resource
Outbound->>Outbound: Follow redirect / Check NO_PROXY
alt Redirect to Internal / Loopback
Outbound->>Outbound: CHANGED: Normalize host (localhost., [::1])
Outbound->>Outbound: NEW: Re-validate redirect target
Outbound-->>App: Blocked (SSRF Prevention)
App-->>Attacker: Error: Illegal Request
else Valid External Request
Outbound->>IntSvc: (Bypass attempt blocked)
Note right of Outbound: Proxy bypass via hostname normalization fixed
end
Note over Hono, FS: 4. Static Site Generation (toSSG)
App->>FS: Generate static files via dynamic routes
FS->>FS: CHANGED: Sanitize route parameters
Note right of FS: Prevents Path Traversal during build phase
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Hey @aikido-autofix[bot], Thank you for your contribution. We appreciate the time and effort you’ve taken to submit this pull request. Before we can proceed, please ensure the following: Regarding new nodes: If your node integrates with an AI service that you own or represent, please email nodes@n8n.io and we will be happy to discuss the best approach. About review timelines: Thank you again for contributing to n8n. |
Performance ComparisonComparing current → latest master → 14-day baseline docker-stats
Idle baseline with Instance AI module loaded
Memory consumption baseline with starter plan resources
How to read this table
|
Bundle ReportChanges will increase total bundle size by 1 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: editor-ui-esmAssets Changed:
|
Upgrade dependencies to fix critical proxy bypass/SSRF in Axios and prototype pollution vulnerabilities in defu and other packages.
✅ No breaking changes from either package upgrade affect this codebase:
defu (6.1.4 => 6.1.5): The package is not directly imported or used anywhere in the codebase. While it appears in
pnpm.overrides, there are no code references to defu functions, so the change in inherited enumerable properties behavior has no impact.yaml (2.3.4 => 2.8.3):
The dropped
Collection.maxFlowStringSingleLineLengthproperty is not used anywhere in the codebaseThe codebase only uses the
parsefunction from the yaml package inpackages/testing/code-health/src/utils/workspace-parser.tsThe Node.js version requirement increase to 14.18 is satisfied, as the project requires Node.js >=22.16
All breaking changes by upgrading defu from version 6.1.4 to 6.1.5 (CHANGELOG)
All breaking changes by upgrading yaml from version 2.3.4 to 2.8.3 (CHANGELOG)
Collection.maxFlowStringSingleLineLength✅ 10 CVEs resolved by this upgrade, including 1 critical 🚨 CVE
This PR will resolve the following CVEs:
__proto__payloads in unsanitized user input, potentially leading to application logic bypass or information disclosure.setCookie(),serialize(), orserializeSigned(), allowing invalid characters that can cause malformed Set-Cookie headers and runtime errors when processing untrusted cookie names.🔗 Related Tasks