← Back to Feed CACHED · 2026-06-29 14:02:33 · CACHE_KEY CVE-2026-13555
CVE-2026-13555 · CWE-74 · Disclosed 2026-06-29

A vulnerability was found in itsourcecode Online Hotel Management System 1

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

A free SourceCodester tutorial app gets another CVE that nobody running production actually cares about

CVE-2026-13555 is yet another injection-class flaw (CWE-74) in itsourcecode Online Hotel Management System 1.0 — a free PHP/MySQL learning project distributed via SourceCodester and itsourcecode.com. These applications are written as student tutorials, ship with default credentials, no input validation, and have been the subject of *hundreds* of CVE filings from the same disclosure mill. The 1.0 build is the only release; there is no patched downstream version because the project is effectively abandoned.

The vendor (VulDB-assigned) score of HIGH 7.3 via AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L is technically defensible against the vector — yes, it is network-reachable with no privileges — but it ignores that this software has *no measurable enterprise deployment*. There is no Shodan fingerprint of any scale, no KEV listing, no EPSS signal, and no commercial hotel chain runs a CodeIgniter tutorial as their PMS. For a fleet of 10,000 hosts the realistic exposure count is zero unless an internal dev spun up a copy in a lab.

"Student-project PHP app with effectively zero enterprise footprint — vendor 7.3 is CNA inflation, not real risk."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Locate an exposed instance

Attacker scans for the distinctive /Online-Hotel-Management-System/ URL path or default page strings via Shodan/Censys/FOFA. The fingerprint is small and noisy — most hits are honeypots or short-lived student lab VMs.
Conditions required:
  • Target has actually deployed the 1.0 tarball
  • Instance is reachable from attacker network
Where this breaks in practice:
  • No enterprise PMS vendor ships this code
  • Most installs are localhost-only XAMPP setups on student laptops
Detection/coverage: Generic web scanner signatures (Nuclei templates) catch the fingerprint; passive recon via GreyNoise tags as low-volume opportunistic scanning
STEP 02

Reach the vulnerable parameter

The CWE-74 injection sits in a query/POST parameter consumed by an unsanitized SQL or shell context. The disclosure notes unauthenticated reach (PR:N), so no login is needed. Tooling: sqlmap, Burp Repeater, or a one-line curl PoC if VulDB published it.
Conditions required:
  • Vulnerable endpoint is exposed without auth wrapper
  • Backend MySQL is reachable from the PHP context
Where this breaks in practice:
  • Some admin endpoints are gated by session_start() checks even in tutorial code
  • Default deployment may lack outbound network for blind exfil
Detection/coverage: Any modern WAF (ModSecurity CRS, Cloudflare, F5 ASM) catches the payload class trivially
STEP 03

Achieve C/I/A impact

Vector caps each impact at Low — partial data read, partial tamper, partial DoS. Realistically an attacker dumps booking records or defaces the room list. There is no privilege escalation path documented and no host pivot.
Conditions required:
  • Successful injection landed
  • Database holds non-trivial data
Where this breaks in practice:
  • No real production data on these installs — typically seeded with room1/room2/test rows
  • Even on a lab instance, blast radius stops at the single PHP container
Detection/coverage: Database audit logs, generic anomaly detection on /admin/ paths
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed. No KEV, no Mandiant/CrowdStrike/Unit42 report, no ransomware affiliate tooling references.
Proof-of-conceptLikely a one-shot VulDB entry with a short payload string. itsourcecode CVEs are typically filed by researchers like *fortunate-cookie* / *L0n3m4n* / *Yiu1124* with disclosure-mill cadence.
EPSSExpected <0.1% (well below 10th percentile) — itsourcecode CVEs almost never accumulate exploitation telemetry.
CISA KEVNot listed. No itsourcecode product has ever appeared in KEV.
CVSS interpretationAV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L = network-reachable, unauthenticated, three partial impacts. Vector is correct; *scoring weight is wrong relative to installed base*.
Affected versionsitsourcecode Online Hotel Management System 1.0 — the only release. No 1.x branch, no maintenance fork.
Fixed versionsNone. Project is unmaintained. No distro backports (not in any Linux distribution).
Exposure dataShodan/Censys/FOFA: negligible. The fingerprint surfaces a handful of student lab VMs globally, no Fortune 5000 attribution.
Disclosure date2026-06-29 — same-day filing, characteristic of VulDB pipeline.
ReporterUnspecified VulDB submitter; CNA is VulDB (itsourcecode does not operate its own CNA).
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.1/10)

The decisive factor is installed-base share at or near zero in enterprise environments — itsourcecode is a free tutorial codebase, not commercial PMS software, and there is no canonical high-value deployment role to multiply blast radius against. Even a successful chain yields only Low/Low/Low impact on what is almost certainly a lab VM.

HIGH negligible enterprise installed base
HIGH vector accuracy (network, unauth, partial impacts)
MEDIUM absence of a vendor patch path

Why this verdict

  • Baseline check: VulDB 7.3 reflects the vector mechanics, not deployment reality. itsourcecode CVEs are systematically over-scored relative to real risk.
  • Friction — population: Fewer than a rounding-error of enterprises run this code in production. The vuln is unreachable simply because nothing to reach exists in the fleet.
  • Friction — impact ceiling: All three CIA components are capped at Low. No RCE, no privilege escalation, no lateral movement primitives documented.
  • Role multiplier: The deployment-role spectrum for itsourcecode OHMS is (a) student laptop, (b) bootcamp lab VM, (c) abandoned demo container. There is no high-value role — no hotel chain, hospitality SaaS, or PMS vendor ships this code. The role-multiplier floor therefore does not apply; verdict floor stays at LOW.
  • KEV/EPSS pressure: None. No exploitation telemetry, no campaign attribution, no scanner hits of significance.

Why not higher?

MEDIUM would require either a meaningful exposure population or a credible path to higher impact. Neither exists: the product has no enterprise footprint and the impacts are all-Low. HIGH is what VulDB filed and is unjustifiable outside the abstract vector math.

Why not lower?

IGNORE would be appropriate if we could guarantee the code is nowhere in the fleet, but shadow IT and dev sandboxes mean a non-zero probability of one developer spinning up a copy. LOW is the right bucket for 'document it, sweep for it, otherwise ignore.'

05 · Compensating Control

What to do — in priority order.

  1. Inventory sweep for the fingerprint — Run an internal scan for the /Online-Hotel-Management-System/ URL path and the itsourcecode footer string across your IP space and dev/QA segments. No mitigation SLA at LOW — do this as part of the next quarterly hygiene cycle, not as an emergency.
  2. Block egress from any lab VMs that host learning-project PHP apps — Default-deny outbound on lab segments neutralizes the data-exfil tail of any injection class bug. Fold into existing network segmentation review (target: 365-day remediation window).
  3. WAF rule confirmation for generic SQLi/command-injection classes — If you front any internal app with ModSecurity/CRS or a cloud WAF, ensure paranoia level ≥2 for legacy PHP stacks. Already in place at most shops; just verify.
  4. Decommission shadow-IT instances on discovery — If a sweep finds an itsourcecode OHMS instance, treat it as unmanaged shadow IT — destroy the VM/container, do not patch (there is no patch).
What doesn't work
  • Waiting for a vendor patch — the project is unmaintained; no fix is coming.
  • Generic IPS signatures keyed to the CVE ID — VulDB CVE IDs rarely get vendor IPS coverage.
  • Subscribing to itsourcecode security advisories — the vendor does not publish them.
06 · Verification

Crowdsourced verification payload.

Run this on an auditor workstation (or a scanner host) with network reach into the segments you care about. Invoke as ./check-ohms.sh 10.0.0.0/16 — needs only outbound HTTP to the target range; no privileges required. Requires nmap and curl.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# noisgate verification — CVE-2026-13555 itsourcecode OHMS 1.0 footprint sweep
# Exit: 0 = PATCHED (none found), 1 = VULNERABLE (instance found), 2 = UNKNOWN
set -u

TARGET="${1:-}"
if [[ -z "$TARGET" ]]; then
  echo "usage: $0 <CIDR or host>" >&2
  exit 2
fi

command -v nmap >/dev/null 2>&1 || { echo "nmap required" >&2; exit 2; }
command -v curl >/dev/null 2>&1 || { echo "curl required" >&2; exit 2; }

TMP=$(mktemp)
trap 'rm -f "$TMP"' EXIT

# 1. Find live web services on 80/443/8080/8000
nmap -Pn -p 80,443,8080,8000 --open -oG - "$TARGET" 2>/dev/null \
  | awk '/Ports:/ {split($0,a,"Host: "); split(a[2],b," "); host=b[1]; for(i=1;i<=NF;i++) if($i ~ /\/open\//){split($i,p,"/"); print host":"p[1]}}' \
  | sort -u > "$TMP"

FOUND=0
while IFS= read -r endpoint; do
  for scheme in http https; do
    for path in "/" "/Online-Hotel-Management-System/" "/hotel/" "/ohms/"; do
      url="${scheme}://${endpoint}${path}"
      body=$(curl -ks --max-time 5 -A "noisgate/1.0" "$url" || true)
      if echo "$body" | grep -qiE 'itsourcecode|Online Hotel Management System|sourcecodester'; then
        echo "VULNERABLE: itsourcecode OHMS fingerprint at $url"
        FOUND=1
      fi
    done
  done
done < "$TMP"

if [[ $FOUND -eq 1 ]]; then
  echo "Result: VULNERABLE (instance(s) found — decommission, do not patch)"
  exit 1
fi

echo "Result: PATCHED (no itsourcecode OHMS instances detected in $TARGET)"
exit 0
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: do nothing urgent. This is LOW — a CWE-74 injection in an unmaintained student-tutorial PHP app with no measurable enterprise footprint. There is no noisgate mitigation SLA at LOW; per the noisgate remediation SLA, fold this into the 365-day hygiene backlog. Run the inventory sweep above during your next quarterly shadow-IT review, destroy any instances you find (there is no patch — the project is abandoned), and document the rationale so this CVE doesn't keep surfacing in vendor scanner reports as a HIGH that demands attention it doesn't deserve. Do not let a VulDB 7.3 score consume one minute of your CRITICAL/HIGH remediation queue this week.

Sources

  1. NVD — CVE-2026-13555
  2. MITRE CVE record
  3. VulDB (typical CNA for itsourcecode disclosures)
  4. itsourcecode project page
  5. CWE-74 — Injection
  6. CISA KEV catalog
  7. FIRST EPSS
  8. GreyNoise visualizer
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.