Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public self-registration form
-
DeliverySubmit full_name with XSS payload
-
ExploitPayload stored/reflected unsanitized
-
ExecutionVictim renders injected name
-
PersistScript executes in victim browser
-
ImpactSession/cookie theft or defacement
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the Smart Attendance System's Self-Registration feature (student_signup.php) is exposed and enabled, allowing unauthenticated users to submit the full_name field. Exploitation is unauthenticated (PR:N) and remote (AV:N) but depends on victim interaction (UI:P) - a user or administrator must render the page containing the attacker-supplied name for the script to fire. Impact is limited to the victim's browser context (script execution, potential session theft/defacement); there is no direct server compromise. The primary limiting factor beyond user interaction is the product's rarity - a niche SourceCodester hobby application with essentially no production deployment. |
| Impact | This is a classic low-severity cross-site scripting flaw in a hobby-grade PHP application, and the signals are internally consistent rather than conflicting. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) confirms remote, unauthenticated reach against the public self-registration form, but requires passive user interaction (UI:P) and yields only limited integrity impact (VI:L) with no confidentiality or availability impact per the vendor score - hence the modest 5.3. SSVC-style reading: exploitation is Proof-of-Concept (E:P, POC public on GitHub), the technical impact is partial (single-field script injection, not system takeover), and while the injection point is trivially automatable, the payoff is limited to browser-context script execution against whoever renders the injected full_name. There is no EPSS score, no CISA KEV listing, and no evidence of active exploitation provided - only a public PoC. Net: a real but low-priority issue. It is NOT a high-CVSS-but-low-real-risk mismatch; it is genuinely low-severity, and its practical risk is further bounded by the product's near-zero enterprise footprint. Note the vendor scored VC:N/VI:L (treating XSS as integrity-only); a defender could reasonably argue VC:L as well since XSS commonly enables session/cookie theft - verify impact expectations against your deployment. |
| Exploit ScenarioDerived | An unauthenticated attacker submits the public student self-registration form (student_signup.php) with a JavaScript payload in the full_name field, which is stored/reflected without proper output encoding. When a victim - most likely an administrator reviewing registrations or another user viewing the rendered name - loads the page, the script executes in their browser context, enabling session hijacking or UI defacement. A public proof-of-concept exists (GitHub, Jack-MRJ), lowering the barrier to exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Cross-site scripting in SourceCodester Smart Attendance System with QR Code Scanner 1.0 lets unauthenticated remote attackers inject arbitrary JavaScript through the full_name parameter of the Self-Registration page (student_signup.php), which then executes in the browser of any user or administrator who renders the affected name. Publicly available exploit code exists, but there is no confirmation of active exploitation. Impact is confined to the victim's browser context - session token theft, defacement, or redirection - with no server-side compromise, and the product is a niche hobby-grade PHP application with essentially no production deployment.
RemediationAI
No vendor-released patch identified at time of analysis, and SourceCodester hobby applications rarely receive security updates, so remediation must be a code change on the deployed instance. The correct fix is contextual output encoding of full_name before it is written into HTML - apply htmlspecialchars($full_name, ENT_QUOTES, 'UTF-8') at every echo point in student_signup.php and in any listing page that renders saved registrations; this preserves normal name display but neutralizes tags and quotes, with the only trade-off being entity-encoded output for unusual characters. As an interim control, disable the Self-Registration feature entirely (remove or rename student_signup.php) or restrict it to authenticated staff, which removes the attack vector at the cost of losing self-service signup. A WAF rule rejecting requests whose full_name parameter contains angle brackets or event-handler syntax blocks the published PoC but is trivially bypassable with encoding tricks, so pair it with a Content-Security-Policy that forbids inline script; note that CSP requires auditing existing inline scripts or the application may break. Because this product is niche and typically not internet-exposed, the highest-value first step is confirming whether an instance is actually deployed and reachable. Advisory references: https://vuldb.com/vuln/408556 and https://vuldb.com/cve/CVE-2026-95957.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-79 improper neutralization of input during web page generation in a PHP application. Within the Self-Registration component, student_signup.php passes the user-supplied full_name argument through a prepend helper and emits it back into HTML without contextual output encoding, so a value containing script markup is rendered as live code rather than text. The CPE cpe:2.3:a:sourcecodester:smart_attendance_system_with_qr_code_scanner:*:*:*:*:*:*:*:* uses a wildcard version, confirming every build of the 1.0 release carries the defect. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P, E:P) matches an unauthenticated network attack gated only by victim interaction and an existing proof-of-concept; the independent CVSS 3.1 assessment adds scope change (S:C) with low confidentiality and integrity impact, accurately reflecting that the script runs in the victim's origin but does not modify server state or disrupt availability.
Know when Smart Attendance System With Qr Code Scanner 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
Unauthenticated remote form submission (PR:N, AV:N) but victim must render the payload (UI:R); stored/reflected XSS crosses into the victim's browser context (S:C) with limited C:L/I:L.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was found in SourceCodester Smart Attendance System with QR Code Scanner 1.0. This issue affects the function prepend of the file student_signup.php of the component Self-Registration. Performing a manipulation of the argument full_name results in cross site scripting. Remote exploitation of the attack is possible. The exploit has been made public and could be used.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
EUVD-2026-85012
GHSA-c4vf-hh6w-gfmx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB