CVE-2026-97647 Overview
CVE-2026-97647 is an authorization bypass vulnerability in the ningzichun student-management-system project, affecting versions up to commit 98760f5711cf6dc8b4adca53a9e207ca49b02ebf. The flaw resides in the user/editLog.php file, where manipulation of the sid, addtime, type, reason, detail, or logdate arguments allows an attacker to bypass authorization controls. The issue is categorized under CWE-285: Improper Authorization and can be exploited remotely without authentication. A public disclosure has been published, and the project maintainers have not yet responded to the issue report filed on GitHub.
Critical Impact
Remote attackers can modify log entries in the student management system without proper authorization, undermining data integrity in the affected PHP application.
Affected Products
- ningzichun student-management-system (GitHub repository)
- Versions up to and including commit 98760f5711cf6dc8b4adca53a9e207ca49b02ebf
- Component: user/editLog.php
Discovery Timeline
- 2026-09-25 - CVE-2026-97647 published to NVD
- 2026-09-29 - Last updated in NVD database
Technical Details for CVE-2026-97647
Vulnerability Analysis
The vulnerability affects the log editing functionality exposed through user/editLog.php. The script accepts user-supplied parameters including sid, addtime, type, reason, detail, and logdate without enforcing proper authorization checks on the requesting user. As a result, an unauthenticated remote attacker can issue requests that modify log records belonging to other users or administrative entries. The flaw maps to CWE-285 (Improper Authorization), reflecting a missing access control check rather than a flaw in the authentication layer itself. Public disclosure of the exploit increases the likelihood of opportunistic exploitation against exposed instances.
Root Cause
The root cause is the absence of server-side authorization validation in user/editLog.php. The script processes inbound parameters and performs log modification operations without verifying that the requester has the privilege to act on the targeted record. Session or role context is not consulted before the update is performed.
Attack Vector
The attack vector is Network (remote), with low attack complexity and no privileges or user interaction required. An attacker crafts an HTTP request to user/editLog.php with controlled values for the vulnerable parameters, causing the application to alter log data. Refer to the VulDB entry for CVE-2026-97647 and the GitHub issue #10 for additional technical context.
Detect Identity Attacks the Moment Authentication Fails
Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.
Stop Identity AttacksDetection Methods for CVE-2026-97647
Indicators of Compromise
- Unexpected HTTP POST or GET requests to user/editLog.php from unauthenticated sessions or unusual source IP addresses.
- Log table entries containing modified addtime, logdate, reason, or detail values that do not correspond to legitimate user activity.
- Repeated requests enumerating sid parameter values indicating brute-force targeting of multiple records.
Detection Strategies
- Review web server access logs for requests to user/editLog.php and correlate them against authenticated session identifiers.
- Implement database-level auditing on log tables to detect unauthorized UPDATE statements affecting rows outside the acting user's scope.
- Deploy a web application firewall rule to flag parameter patterns consistent with the disclosed exploitation payloads.
Monitoring Recommendations
- Monitor the exposed PHP application for anomalous request rates against editLog.php and related endpoints.
- Alert on changes to log records made outside normal business hours or by unexpected client identifiers.
- Correlate web request telemetry with database write operations to identify authorization bypass attempts.
How to Mitigate CVE-2026-97647
Immediate Actions Required
- Restrict network access to the student-management-system application until a fix is applied, limiting exposure to trusted networks only.
- Audit log tables for unauthorized modifications performed before mitigation and preserve evidence for incident response.
- Review all code paths in user/editLog.php and add server-side authorization checks that validate the acting user owns or has rights to the targeted record.
Patch Information
No official patch has been released by the project maintainer at the time of publication. The project was notified via GitHub issue #10 but has not responded. Monitor the project repository for upstream fixes.
Workarounds
- Place the application behind an authenticating reverse proxy that enforces access controls before requests reach user/editLog.php.
- Add a web application firewall rule to block unauthenticated requests to the editLog.php endpoint.
- Apply a local source-code modification to verify session ownership of the sid parameter before executing any log update query.
# Example WAF rule concept to restrict editLog.php to authenticated sessions
# (adapt syntax to your WAF platform)
SecRule REQUEST_URI "@endsWith /user/editLog.php" \
"id:1009764701,phase:1,deny,status:403,\
chain,msg:'Block unauthenticated access to editLog.php'"
SecRule &REQUEST_COOKIES:PHPSESSID "@eq 0"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

