Add comprehensive security advisory documenting 3 HIGH severity CVEs identified by Vanta security scans. Related issues: #5318, #5319, #5320
160 lines
4.7 KiB
Markdown
160 lines
4.7 KiB
Markdown
# Security Advisory: High Severity Vulnerabilities - May 30, 2026
|
|
|
|
This advisory addresses 3 HIGH severity vulnerabilities identified by Vanta security scans.
|
|
|
|
## Summary
|
|
|
|
| CVE | Package | Severity | CVSS | Status | Fixed Version |
|
|
|-----|---------|----------|------|--------|---------------|
|
|
| CVE-2026-29063 | immutable | HIGH | 9.8 | OVERDUE | 5.1.5 |
|
|
| CVE-2025-58754 | axios | HIGH | 8.2 | OVERDUE | 1.12.0 |
|
|
| CVE-2026-32460 | langsmith | HIGH | 7.1 | Due Jun 12 | 0.6.0 |
|
|
|
|
## Vulnerability Details
|
|
|
|
### 1. CVE-2026-29063: Prototype Pollution in immutable
|
|
|
|
**Location:** Transitive dependency in `openmemory/ui`
|
|
**Current Version:** 5.1.1
|
|
**Required Version:** >= 5.1.5
|
|
|
|
**Impact:**
|
|
- Prototype pollution via `mergeDeep()`, `mergeDeepWith()`, `merge()`, `Map.toJS()`, `Map.toObject()`
|
|
- Privilege escalation through `__proto__` injection
|
|
- Security check bypass
|
|
|
|
**Remediation:**
|
|
Since immutable is a transitive dependency, investigate the dependency tree and either:
|
|
1. Update the direct dependency that requires immutable
|
|
2. Use package manager overrides/resolutions:
|
|
|
|
```json
|
|
// pnpm-lock.yaml or package.json
|
|
"pnpm": {
|
|
"overrides": {
|
|
"immutable": ">=5.1.5"
|
|
}
|
|
}
|
|
```
|
|
|
|
**References:**
|
|
- Issue: #5318
|
|
- Dependabot: https://github.com/mem0ai/mem0/security/dependabot/566
|
|
- Advisory: https://github.com/immutable-js/immutable-js/security/advisories/GHSA-wf6x-7x77-mvgw
|
|
|
|
### 2. CVE-2025-58754: Axios DoS via data: URI
|
|
|
|
**Location:** Multiple locations (already fixed in most)
|
|
**Current Versions:** 1.15.2, 1.7.7 (SAFE)
|
|
**Required Version:** >= 1.12.0
|
|
|
|
**Status:** ✅ RESOLVED - All axios instances are already at safe versions
|
|
|
|
**Impact:**
|
|
- Denial of Service through unbounded memory allocation
|
|
- Process crash via malicious `data:` URIs
|
|
- Bypasses `maxContentLength` / `maxBodyLength` limits
|
|
|
|
**Verification:**
|
|
```bash
|
|
grep -r "axios" --include="package.json" | grep version
|
|
# All instances show >= 1.12.0
|
|
```
|
|
|
|
**References:**
|
|
- Issue: #5319
|
|
- Dependabot: https://github.com/mem0ai/mem0/security/dependabot/567
|
|
|
|
### 3. CVE-2026-32460: LangSmith SSRF & Credential Disclosure
|
|
|
|
**Location:** Transitive dependency in `openclaw` and `mem0-ts`
|
|
**Current Versions:** 0.3.87, 0.5.10
|
|
**Required Version:** >= 0.6.0
|
|
|
|
**Impact:**
|
|
- Server-Side Request Forgery (SSRF) via untrusted prompts
|
|
- Credential disclosure when pulling public prompts
|
|
- Prompt injection and behavior manipulation
|
|
|
|
**Remediation:**
|
|
Since langsmith is a transitive dependency (likely from @langchain packages), investigate and either:
|
|
1. Update the parent dependency (@langchain/core, etc.)
|
|
2. Use package manager overrides:
|
|
|
|
```json
|
|
// pnpm-lock.yaml or package.json
|
|
"pnpm": {
|
|
"overrides": {
|
|
"langsmith": ">=0.6.0"
|
|
}
|
|
}
|
|
```
|
|
|
|
**Post-Upgrade Security Guidance:**
|
|
After upgrading, pulling public prompts requires explicit opt-in:
|
|
- Python: `dangerously_pull_public_prompt=True`
|
|
- JS/TS: `dangerouslyPullPublicPrompt: true`
|
|
|
|
**References:**
|
|
- Issue: #5320
|
|
- Dependabot: https://github.com/mem0ai/mem0/security/dependabot/920
|
|
- Advisory: https://github.com/langchain-ai/langsmith-sdk/security/advisories/GHSA-3644-q5cj-c5c7
|
|
|
|
## Recommended Actions
|
|
|
|
### Immediate (High Priority - Overdue)
|
|
1. ✅ **CVE-2025-58754 (axios):** Already resolved - verify in production
|
|
2. 🔴 **CVE-2026-29063 (immutable):** Add override to `openmemory/ui/package.json`
|
|
3. 🔴 **CVE-2026-32460 (langsmith):** Add overrides to `openclaw/package.json` and `mem0-ts/package.json`
|
|
|
|
### Testing Checklist
|
|
- [ ] Run `pnpm install` in affected directories
|
|
- [ ] Verify lock files show updated versions
|
|
- [ ] Run existing test suites
|
|
- [ ] Check for runtime errors related to dependency changes
|
|
- [ ] Verify Dependabot alerts are resolved
|
|
|
|
### Deployment Verification
|
|
```bash
|
|
# After deployment, verify versions:
|
|
cd openmemory/ui && pnpm list immutable
|
|
cd openclaw && pnpm list langsmith
|
|
cd mem0-ts && pnpm list langsmith
|
|
```
|
|
|
|
## Implementation Plan
|
|
|
|
1. **Add Dependency Overrides**
|
|
- Update `openmemory/ui/package.json` with immutable override
|
|
- Update `openclaw/package.json` with langsmith override
|
|
- Update `mem0-ts/package.json` with langsmith override
|
|
|
|
2. **Regenerate Lock Files**
|
|
```bash
|
|
cd openmemory/ui && pnpm install
|
|
cd openclaw && pnpm install
|
|
cd mem0-ts && pnpm install
|
|
```
|
|
|
|
3. **Test & Verify**
|
|
- Run test suites for each affected package
|
|
- Verify no breaking changes
|
|
- Check Vanta dashboard for resolution
|
|
|
|
4. **Deploy & Monitor**
|
|
- Deploy to staging first
|
|
- Monitor for any runtime issues
|
|
- Deploy to production
|
|
- Confirm Dependabot alerts close
|
|
|
|
## Contact
|
|
|
|
For questions or concerns about this advisory:
|
|
- Security Issues: #5318, #5319, #5320
|
|
- Vanta Dashboard: Check GitHub Dependabot integration
|
|
- Automated by: Vulnerability Remediation Workflow
|
|
|
|
---
|
|
*Generated: 2026-05-30*
|
|
*Workflow: Automated Vulnerability Remediation*
|