Skip to main content

HustOJ EUVDEUVD-2026-115851

| CVE-2026-106991 HIGH
2026-11-03 mitre GHSA-w3wm-r8gq-mq7w
7.1
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register or use any account
  2. Exploit
    Authenticate to HustOJ
  3. Execution
    Send crafted threadadmin.php request
  4. Impact
    Delete, lock, or sticky target thread

Vulnerability Assessment

Exploitation Conditions

Requires a valid authenticated session on the HustOJ instance (PR:L) - any registered user, with no authorship or administrator role needed, which is the entire defect. The attacker invokes the thread-management actions in threadadmin.php (delete/lock/sticky) against an arbitrary thread ID. No non-default configuration, user interaction, or special platform is required beyond having an account; the main limiting factor is how account registration is controlled - on instances with open self-registration this is effectively unauthenticated-adjacent, whereas instances that gate account creation raise the bar. Affected versions are HustOJ >=24.09.10 through <=26.08.19.

Impact

This is a genuine, moderately serious authorization flaw rather than an inflated high-CVSS score. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L, 7.1) is internally consistent with the description and with the fix: PR:L reflects that any authenticated account is sufficient, AC:L reflects that no special timing or configuration is needed, and I:H reflects that an attacker can destroy or lock any thread, including administrators' announcements. The practical severity hinges on how accounts are provisioned - on public online-judge deployments self-registration is typically open, which effectively lowers the authentication barrier toward trivial. The source-code evidence (PR #1192) directly confirms the mechanism: the pre-patch check passed whenever a user_id OR administrator session existed, so any logged-in user reached the admin action; the patch adds an author/owner check against the topic table. No EPSS score and no KEV listing were supplied, so widespread or confirmed active exploitation cannot be asserted; the vuln.today decision label is 'this_week' (not act_now/emergency). A third-party repository (MX-Qulin/CVE-2026-106991) is referenced and appears to be a PoC, but the input does not confirm it as working exploit code. Net: a real, promptly-fixable priority for anyone running an affected HustOJ instance, but not an emergency on the supplied signals.

Exploit ScenarioDerived

An attacker registers an ordinary account on a HustOJ instance (or uses any existing low-privilege login) and issues a request to threadadmin.php targeting a thread ID - for example an administrator's pinned announcement - to delete, lock, or sticky it. Because the thread branch only checks that a session is logged in and never verifies authorship or admin rights, the action succeeds. A public PoC reference exists (MX-Qulin/CVE-2026-106991); it is not verified as working exploit code in the available data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

Any registered user on HustOJ (versions 24.09.10 through 26.08.19) can delete, lock, or sticky any forum thread - including administrator announcements - because the thread-handling branch of threadadmin.php verifies only that a session exists, never thread authorship or administrative role. Successful abuse yields high integrity impact and partial availability impact on forum content (CVSS 7.1, I:H/A:L, C:N), requires no user interaction, and needs nothing more than a self-registered account on instances that allow open registration. There is no KEV listing and no confirmed working exploit code at time of analysis, though a public reference repository named for this CVE exists and is not verified as functional exploit code; an upstream fix is available in pull request #1192.

RemediationAI

Apply the upstream fix in pull request https://github.com/zhblue/hustoj/pull/1192 (or upgrade to a HustOJ release that contains it - no tagged patched version is independently confirmed in the available data, so verify the commit is present in the release you deploy before treating it as fixed). The patch replaces the login-only gate in trunk/web/threadadmin.php with a two-stage check that first requires a user_id session and then, for accounts lacking the administrator session flag, looks up author_id in the topic table for the supplied tid and returns 'Permission denied.' unless the session user is the thread author; it also adds the missing global declarations and switches errmsg to err_msg in trunk/web/discuss_func.inc.php. Until the commit is deployed, the practical exposure limiter noted in the assessment is account-registration control: closing self-registration or requiring administrative approval reduces the pool of users who can reach the vulnerable branch, at the cost of restricting legitimate contestant and student onboarding, and it does not help on instances where untrusted users already hold accounts.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

HustOJ is a PHP/MySQL online judge platform widely deployed for programming contests and coursework; its forum subsystem lives in trunk/web/discuss_func.inc.php and trunk/web/threadadmin.php. The vulnerable code path is a classic missing-authorization / direct object reference defect: the thread branch of threadadmin.php gates the delete, lock and sticky actions on session presence alone (isset($_SESSION[$OJ_NAME.'_'.'user_id'])) and never compares the supplied thread identifier against the topic's author or against the administrator session flag, so the object identifier is fully attacker-controlled and any logged-in account is treated as authorized. No CWE identifier is supplied in the available data, so the root-cause class is described from the referenced patch rather than from an assigned CWE. The fix in PR #1192 restructures the check into two stages - first requiring a user_id session, then, for non-administrators, querying SELECT author_id FROM topic WHERE tid=? and rejecting the request when the row is empty or the session user does not match the author. The same PR also adds a global declaration for $OJ_TEMPLATE, $OJ_NAME, $OJ_LANG, $OJ_ADMIN, $OJ_MEMCACHE, $OJ_CDN_URL, $DOMAIN, $domain, $path_fix, $OJ_BEIAN, $MSG_ERROR_INFO and $MSG_BACK in discuss_func.inc.php alongside the errmsg-to-err_msg call rename, which is supporting plumbing for the corrected authorization error path rather than a separate defect.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
vuln.today AI 7.1 HIGH

Any logged-in user can act (PR:L) remotely over HTTP (AV:N) with no special conditions (AC:L); arbitrary thread deletion is high integrity impact, thread locking yields low availability, and no data is disclosed (C:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

DescriptionCVE.org

hustoj >=24.09.10 and <=26.08.19 is vulnerable to Incorrect Access Control. Any registered user can delete, lock, or sticky any forum thread (including admins' announcements) via threadadmin.php. The thread branch only verifies login, never authorship or admin rights.

Executive ViewAI

Why It Matters

A high-severity authorization flaw in HustOJ's forum module allows any self-registered user to delete, lock, or sticky any discussion thread, including administrator announcements, across versions 24.09.10 through 26.08.19. This undermines the integrity of institutional communications and could disrupt academic or operational workflows on open-registration instances. Leadership should prioritize remediation because the vulnerability requires only a basic user account and no special privileges, exposing the platform to reputational and operational risk.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include restricting access to threadadmin.php via server configuration (e.g., IP allowlisting), disabling open user registration, and monitoring forum logs for suspicious thread modifications.

Threat Intelligence Overview

Prevalence
Low
niche open-source online-judge platform, mainly academic/contest deployments
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy