
A scanner and testter of the CVE-2025-11001 of 7-zip
A stunning, interactive web application that demonstrates and helps detect the critical CVE-2023-52169 symlink traversal vulnerability in 7-Zip archives.
../, ..\\)/, C:\\)Clone the repository
git clone <repository-url>
cd Se7enSlip
Install dependencies
npm install
Start the development server
npm start
Open your browser
Navigate to http://localhost:3000
# Development with auto-reload
npm run dev
# Create a test vulnerable ZIP file
npm run create-test-zip
# Production build
npm run build
The vulnerability allows attackers to craft malicious ZIP archives that, when extracted by vulnerable 7-Zip versions, can write files outside the intended extraction directory. This is achieved through:
../ sequences to escape extraction folder┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Malicious ZIP │───▶│ Vulnerable 7-Zip│───▶│ System Compromise│
│ │ │ < v23.01 │ │ │
│ • ../../../etc/ │ │ │ │ • File overwrite│
│ • /tmp/evil.sh │ │ Fails to validate│ │ • Code execution│
│ • Symlinks │ │ extraction paths│ │ • Privilege esc.│
└─────────────────┘ └─────────────────┘ └─────────────────┘
POST /api/scanUpload and scan a ZIP file for vulnerabilities.
Request: Multipart form data with zipfile field
Response:
{
"filename": "test.zip",
"totalEntries": 10,
"suspicious": [...],
"riskLevel": "HIGH",
"recommendations": [...],
"metadata": {
"totalSize": 12345,
"suspiciousPatterns": {...}
}
}
GET /api/vulnerability-infoRetrieve detailed information about CVE-2023-52169.
Response:
{
"cve": "CVE-2023-52169",
"cvssScore": 7.8,
"downloadUrl": "https://www.7-zip.org/download.html",
"references": [...]
}
POST /api/create-test-zipGenerate a test ZIP file containing various vulnerability patterns.
Response: ZIP file download with malicious entries for testing
public/css/
├── styles.css # Main stylesheet with CSS custom properties
├── animations/ # Animation keyframes and transitions
├── components/ # Component-specific styles
└── responsive/ # Media queries and responsive design
:root {
--primary: #00ff88; /* Neon green */
--secondary: #ff4757; /* Danger red */
--accent: #3742fa; /* Electric blue */
--bg-primary: #0a0a0a; /* Deep black */
--text-primary: #ffffff; /* Pure white */
}
PORT=3000 # Server port
NODE_ENV=production # Environment mode
UPLOAD_LIMIT=52428800 # File size limit (50MB)
RATE_LIMIT_WINDOW=900000 # Rate limiting window (15min)
RATE_LIMIT_MAX=50 # Max requests per window
The application includes multiple security layers:
// Content Security Policy
helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'"],
// ... additional directives
}
}
})
# Create a test ZIP with vulnerabilities
npm run create-test-zip
# The generated file will contain:
# - Path traversal entries (../)
# - Absolute paths (/tmp/, C:\)
# - Symlink entries
# - Long path names
# - Executable files
NODE_ENV=productionFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
version: '3.8'
services:
se7enslip:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
volumes:
- ./uploads:/app/uploads
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Educational Purpose Only: This tool is designed for security research and education. The test ZIP files generated contain simulated malicious patterns for demonstration purposes. Do not use this tool for malicious activities. Always ensure you have proper authorization before testing security tools.
🔒 Stay Secure, Stay Updated