RUET OJ
CVE-2025-12327
LOW
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
1DescriptionCVE.org
A vulnerability was determined in shawon100 RUET OJ up to 18fa45b0a669fa1098a0b8fc629cf6856369d9a5. This issue affects some unknown processing of the file /description.php. This manipulation of the argument ID causes sql injection. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized. This product uses a rolling release model to deliver continuous updates. As a result, specific version information for affected or updated releases is not available. The vendor was contacted early about this disclosure but did not respond in any way.
AnalysisAI
SQL injection in RUET OJ /description.php endpoint allows authenticated remote attackers to manipulate the ID parameter and inject arbitrary SQL commands, achieving limited confidentiality and integrity compromise. The vulnerability affects the rolling-release version up to commit 18fa45b0a669fa1098a0b8fc629cf6856369d9a5, with publicly available exploit code disclosed. Despite the public disclosure, the extremely low EPSS score (0.02%) and high authentication barrier suggest minimal real-world exploitation risk, though the unresponsive vendor posture leaves the codebase unpatched.
Technical ContextAI
RUET OJ is a competitive programming judge system written in PHP. The vulnerability exists in /description.php, which processes a user-supplied ID parameter without proper input sanitization or parameterized query construction (CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component). The SQL injection occurs in the argument handling logic, likely in a SELECT or JOIN query constructing problem descriptions. As a rolling-release project with no versioning scheme, the affected codebase is identified only by a Git commit hash (18fa45b0a669fa1098a0b8fc629cf6856369d9a5). The PHP framework does not appear to enforce prepared statements or ORM protections by default.
RemediationAI
The vendor (shawonruet) did not respond to early disclosure notifications and has not released an official patch as of the analysis date. Administrators should monitor the RUET OJ GitHub repository for security fixes and apply updates as soon as available. As an immediate compensating control, restrict access to the /description.php endpoint to authenticated users and apply a Web Application Firewall (WAF) rule to block common SQL injection payloads in the ID parameter (e.g., patterns containing single quotes, semicolons, or SQL keywords). Additionally, implement database-level read-only permissions for the application user account if the application does not require write access to the affected query - this limits the scope of injected commands to SELECT operations only. Developers should conduct an immediate code review of all user-input handling in PHP files, particularly those processing ID or identifier parameters, and refactor them to use prepared statements with parameterized queries. For long-term mitigation, consider migrating to a PHP framework with built-in ORM and input validation (e.g., Laravel, Symfony) that enforces prepared statements by default.
More from same product – last 7 days
Authentication bypass in Discuz! X5.0 releases 20260320 through 20260501 allows unauthenticated remote attackers to acce
Authenticated remote code execution in Discuz! X5.0 releases 20260320 through 20260501 allows administrators to chain a
Unauthenticated PHP Object Injection in the Happyforms WordPress plugin (versions <= 1.26.13) allows remote attackers to
Unauthenticated PHP Object Injection in the Broadcast Live Video WordPress plugin (versions prior to 7.1.3) allows remot
Unauthenticated PHP object injection in the WordPress plugin 'Integration for Keap/Infusionsoft and Contact Form 7, WPFo
Share
External POC / Exploit Code
Leaving vuln.today