aecelen
Source-scoped identity with 1 associated PoC and 1 linked vulnerability.
Exploit catalog results
Showing 1 PoC on this page
GitHubaecelen/ktor-xxe-poc
Repository PoCStars: 1Created 2025-10-15ExploitCVE-2023-4561216 files
Analysis
Technical assessment
A proof-of-concept exploit for CVE-2023-45612, an XXE vulnerability in JetBrains Ktor. The artifact includes a vulnerable Ktor server application and a Python script that sends an XXE payload to read local files.
Backdoor review
No backdoor observed in reviewed code
The repository is a proof-of-concept for CVE-2023-45612 (XXE in Ktor). All reviewed source files implement a minimal Ktor server with a vulnerable XML endpoint and a Python test script that sends a benign request and an XXE payload. No backdoor, concealed executable behavior, or operator-directed harm is present in the supplied text evidence.
Classification basis and observed behavior
Classification basis
The artifact contains a Python script (test.py) that actively sends an XXE payload to a vulnerable server endpoint to exfiltrate local file contents, which constitutes exploitation code.
test.py:22-30Requirements
- A running instance of the vulnerable Ktor server on localhost:8080.
README.md:15-25
Observed behavior
- Sends a valid XML request to the /student endpoint.
test.py:6-12 - Sends an XML payload containing an external entity definition that attempts to read a local file (/etc/passwd or c:/windows/win.ini).
test.py:22-30 - The server deserializes the XML payload using a vulnerable ContentNegotiation configuration.
src/main/kotlin/Serialization.kt:7-10src/main/kotlin/Routing.kt:18-20
Behaviors behind the backdoor verdict
Observables
- Vulnerability Demonstration
- Payload withheldThe PoC demonstrates the CVE-2023-45612 vulnerability by sending an XML payload with a SYSTEM entity referencing a local file path.
test.py:22-29 - Vulnerable Configuration
- Payload withheldThe server configuration in Serialization.kt enables XML content negotiation with default settings, which is the vulnerable configuration described in CVE-2023-45612.
src/main/kotlin/Serialization.kt:7-10
What the analysis did not establish
- Two binary files (gradle-wrapper.jar, gradlew) were not inspected.
- The analysis is based solely on the provided text evidence; the code was not executed.
- Two binary files (gradle-wrapper.jar and gradlew) were flagged as BINARY and not analyzed; they are standard Gradle wrapper files but their contents were not inspected.
- Seven additional text files in the repository were not included in the evidence packet and were not reviewed.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.