Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
PR_197_CRITICAL_FIXES_SESSION.md2.93 kB
# PR #197 Critical Security Fixes - Session Summary ## Session Date: July 11, 2025 ## Critical Issues Addressed ### 1. ReDoS Vulnerability (HIGH SEVERITY) ✅ FIXED - **Location**: PersonaSharer.ts:251 - **Issue**: Regex pattern `/#dollhouse-persona=(.+)$/` vulnerable to polynomial regex attacks - **Fix**: Changed to `/#dollhouse-persona=([A-Za-z0-9+/=]+)$/` - **Status**: Resolved ### 2. SSRF Vulnerability (HIGH SEVERITY) ✅ FIXED - **Issue**: Direct fetch without URL validation or timeouts - **Fixes Applied**: - Added comprehensive `validateShareUrl()` method - Blocks localhost, private IPs (10.x, 192.168.x, 172.x, 169.254.x) - Added AbortController with timeouts (5s general, 10s GitHub API) - **Status**: Resolved ### 3. GitHub API Rate Limiting ✅ IMPLEMENTED - Used existing RateLimiter class - Conservative limits: 100/hour (authenticated), 30/hour (unauthenticated) - Minimum 1 second between requests - Token consumption tracking ### 4. Test Coverage ✅ ADDED - Created comprehensive PersonaSharer tests (20 test cases) - Tests cover: - Security scenarios (ReDoS, SSRF, URL validation) - Rate limiting behavior - Error handling - Edge cases ### 5. CodeQL Security Alert ⚠️ IN PROGRESS - **Issue**: Incomplete URL substring sanitization in test file - **Location**: PersonaSharer.test.ts:420 - **Fix Applied**: Changed `.includes('dollhousemcp.com')` to `.startsWith('https://dollhousemcp.com/')` - **Status**: Fixed but not yet pushed ## Current PR Status - All major security vulnerabilities fixed - Comprehensive test coverage added - Latest Claude review shows "APPROVE" recommendation - One remaining CodeQL warning (just fixed) ## Files Modified 1. `src/persona/export-import/PersonaSharer.ts` - Added URL validation - Added fetch timeouts - Added rate limiting - Fixed ReDoS vulnerability 2. `__tests__/unit/PersonaSharer.test.ts` - Created comprehensive test suite - Fixed URL validation issue ## Next Steps for PR #197 1. Push the CodeQL fix 2. Verify all CI checks pass 3. Get final approval from Mick 4. Merge PR ## Documentation Created This Session - `EXPORT_IMPORT_NEXT_SESSION.md` - Complete feature status - `PR_197_REMAINING_WORK.md` - Review items tracking - `NPM_ORG_MIGRATION.md` - NPM migration plan - `SESSION_SUMMARY_JULY_11_FINAL.md` - Overall session summary - `QUICK_START_EXPORT_IMPORT.md` - Quick reference guide ## Commands to Run Next Session ```bash # Push the CodeQL fix git add __tests__/unit/PersonaSharer.test.ts git commit -m "fix: resolve CodeQL URL validation warning in tests" git push # Check PR status gh pr checks 197 gh pr view 197 --comments # If all checks pass, merge gh pr merge 197 --squash ``` ## Key Achievements - Fixed ALL critical security vulnerabilities - Added comprehensive security protections - Created thorough test coverage - Addressed all high-priority review feedback - Ready for production deployment

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server