CVE-2023-43662
Path Traversal in ShokoServer is a media server which specializes in organizing anime
Executive Summary
CVE-2023-43662 is a high severity vulnerability affecting appsec. It is classified as Path Traversal. Ensure your systems and dependencies are patched immediately to mitigate exposure risks.
Precogs AI Insight
"ShokoServer contains an unauthenticated remote code execution vulnerability. Attackers exploit missing input validation in the media server's API to upload and execute malicious payloads. Precogs Application Security Module tracks file upload extraction boundaries."
What is this vulnerability?
CVE-2023-43662 is categorized as a high Path Traversal flaw with a CVSS base score of 8.6. Based on our vulnerability intelligence, this issue occurs when the application fails to securely handle untrusted data boundaries.
ShokoServer is a media server which specializes in organizing anime. In affected versions the /api/Image/WithPath endpoint is accessible without authentication and is supposed to return default server images. The endpoint accepts the parameter serverImagePath, which is not sanitized in any way before being passed to System.IO.File.OpenRead, which results in an arbitrary file read. This issue may lead to an arbitrary file read which is exacerbated in the windows installer which installs the ShokoServer as administrator. Any unauthenticated attacker may be able to access sensitive information and read files stored on the server. The /api/Image/WithPath endpoint has been removed in commit 6c57ba0f0 which will be included in subsequent releases. Users should limit access to the /api/Image/WithPath endpoint or manually patch their installations until a patched release is made. This issue was discovered by the GitHub Security lab and is also indexed as GHSL-2023-191.
This architectural defect enables adversaries to bypass intended security controls, directly manipulating the application's execution state or data layer. Immediate strategic intervention is required.
Risk Assessment
| Metric | Value |
|---|---|
| CVSS Base Score | 8.6 (HIGH) |
| Vector String | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| Published | September 28, 2023 |
| Last Modified | November 21, 2024 |
| Related CWEs | CWE-22 |
Impact on Systems
✅ Data Exfiltration: Attackers can extract sensitive data from backend databases, configuration files, or internal services.
✅ Authentication Bypass: Exploiting this flaw may allow unauthorized access to protected resources and administrative interfaces.
✅ Lateral Movement: Once initial access is gained, attackers can pivot to internal systems and escalate privileges.
How to Fix and Mitigate CVE-2023-43662
- Apply Vendor Patches: Upgrade affected components to their latest, non-vulnerable versions immediately.
- Implement Input Validation: Ensure all user-supplied data is validated, sanitized, and type-checked before processing.
- Deploy Runtime Protection: Use Precogs continuous monitoring to detect exploitation attempts in real time.
- Audit Dependencies: Review and update all third-party libraries and transitive dependencies.
Defending with Precogs AI
ShokoServer contains an unauthenticated remote code execution vulnerability. Attackers exploit missing input validation in the media server's API to upload and execute malicious payloads. Precogs Application Security Module tracks file upload extraction boundaries.
Use Precogs to continuously scan your codebase, binaries, APIs, and infrastructure for this vulnerability class and related attack patterns. Our AI-powered detection engine combines static analysis with threat intelligence to identify exploitable weaknesses before attackers do.
Vulnerability Code Signature
Attack Data Flow
| Stage | Detail |
|---|---|
| Source | User-supplied filename or path parameter |
| Vector | Path manipulation using dot-dot-slash (../) sequences |
| Sink | File system read/write operation |
| Impact | Unauthorized access to sensitive files (e.g., /etc/passwd), directory traversal |
Vulnerable Code Pattern
// ❌ VULNERABLE: Unvalidated path resolution
public File getFile(String filename) {
String basePath = "/var/www/uploads/";
// Taint sink: permits directory traversal via "../"
return new File(basePath + filename);
}
Secure Code Pattern
// ✅ SECURE: Canonical path validation
public File getFile(String filename) throws IOException {
File baseDir = new File("/var/www/uploads/").getCanonicalFile();
File requestedFile = new File(baseDir, filename).getCanonicalFile();
// Sanitized boundary check
if (!requestedFile.getPath().startsWith(baseDir.getPath())) {
throw new SecurityException("Path traversal attempt detected");
}
return requestedFile;
}
How Precogs Detects This
Precogs AI Analysis Engine utilizes semantic taint tracking to detect insecure path resolution sinks, ensuring file access is strictly bounded.\n