CVE-2026-24479
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedHUSTOF is an open source online judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training. Prior to version 26.01.24, the problem_import_qduoj.php and problem_import_hoj.php modules fail to properly sanitize filenames within uploaded ZIP archives. Attackers can craft a malicious ZIP file containing files with path traversal sequences (e.g., ../../shell.php). When extracted by the server, this allows writing files to arbitrary locations in the web root, leading to Remote Code Execution (RCE). Version 26.01.24 contains a fix for the issue.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidencePath traversal vulnerability in HUSTOF's problem_import_qduoj.php and problem_import_hoj.php modules allows attackers to craft malicious ZIP archives containing filenames with '../' sequences (e.g., ../../shell.php). When extracted, files are written to arbitrary locations in the web root, achieving remote code execution.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 26.01.24CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify Hustoj versionLocate the version file in the Hustoj installation directory or check the admin dashboard for the current version numberAffected if The installed version is earlier than 26.01.24
-
Locate vulnerable import modulesSearch for problem_import_qduoj.php and problem_import_hoj.php files in the web root directory, typically under the /admin or /include pathsAffected if These PHP files exist in the installation
-
Check web accessibility of vulnerable filesAttempt to access the problem_import_qduoj.php and problem_import_hoj.php endpoints via HTTP request (e.g., /admin/problem_import_qduoj.php)Affected if The files are accessible via web browser without authentication or with valid admin credentials
-
Verify problem import feature is enabledCheck if the problem import functionality is active in the admin panel or if the modules can be invokedAffected if The import feature can be invoked or is not explicitly disabled in configuration
A user is affected if running Hustoj version earlier than 26.01.24 AND the problem_import_qduoj.php or problem_import_hoj.php modules are web-accessible and functional.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped26.01.24
Upgrade to version 26.01.24 or later which contains the fix for proper filename sanitization in ZIP archive extraction.
26.01.24
- 1. Back up the entire Hustoj installation directory and database before proceeding with the upgrade
- 2. Download the fixed version 26.01.24 from the official repository at https://github.com/zhblue/hustoj
- 3. Replace the existing problem_import_qduoj.php and problem_import_hoj.php files with the fixed versions from commit 902bd09e6d0011fe89cd84d4236899314b33101f, or upgrade the entire installation to version 26.01.24
- 4. Verify that the new files contain the path traversal protection by checking that filenames are properly sanitized before extraction
- 5. Test the problem import functionality with a legitimate ZIP file to ensure normal operation is restored
- 6. Clear any server caches and restart PHP-FPM/apache if applicable
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation4.0 h
- Testing3.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,088.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-24479 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-24479 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data