← Back to Feed CACHED · 2026-10-01 19:10:34 · CACHE_KEY CVE-2026-13548
CVE-2026-13548 · CWE-74 · Disclosed 2026-06-29

SQL Injection in itsourcecode Hospital Management System /doctortimings.php editid Parameter

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

Filing a building-code violation against a cardboard playhouse

CVE-2026-13548 is a textbook SQL injection in the editid parameter of /doctortimings.php in itsourcecode Hospital Management System 1.0. The application concatenates user input directly into SQL queries with no parameterization or input validation. The affected product is a free PHP/MySQL student capstone project distributed on itsourcecode.com for BSIT thesis work — it runs on XAMPP/WAMP and is designed to be downloaded, unzipped, and demoed for a professor. It is not a commercial product, has no vendor support, no patch pipeline, no update mechanism, and no known production deployment anywhere. Only version 1.0 exists; there are no other releases.

The vendor severity of MEDIUM (6.3) is technically accurate for the SQL injection mechanics — AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L correctly describes what happens if you exploit a PHP page that concatenates $_GET['editid'] into a query. But the score is entirely disconnected from real-world risk because the affected software has an installed base of approximately zero in any enterprise environment. This CVE is one of dozens of nearly identical SQL injection findings across this same student project (CVE-2026-13530, -13531, -75086, -75087, -75088, -19894, -19934, -14773, -14774, -16334, -19767, -20000, and more), each targeting a different .php file and a different delid or editid parameter. The entire product is a CVE farm — a researcher systematically running sqlmap against every endpoint of a homework project.

"Real SQLi in a fake product — student capstone project with zero enterprise footprint."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Locate a running instance

The attacker must find an internet-facing or internal-network-accessible instance of itsourcecode Hospital Management System 1.0. The application runs on XAMPP/WAMP with default Apache and MySQL configurations. Since this is a student capstone project, the overwhelming likelihood is that any running instance is on a student's laptop, a lab VM, or a local development server with no network exposure whatsoever.
Conditions required:
  • A running instance of itsourcecode HMS 1.0 must exist on a reachable network
Where this breaks in practice:
  • Zero instances found on Shodan, Censys, or FOFA
  • This is a student demo project — not deployed in production anywhere
  • No enterprise distribution channel, package manager, or container image exists
STEP 02

Authenticate to the application

The CVSS vector specifies PR:L — privileges required: low. The attacker needs valid credentials to reach the /doctortimings.php endpoint. Default credentials may exist in the student project's SQL seed file, but the application must be running and reachable first.
Conditions required:
  • Valid login credentials for the HMS application
Where this breaks in practice:
  • No default credential documentation; credentials are set during student setup
  • Application must be running and network-reachable, which is nearly never true
STEP 03

Inject SQL via the editid parameter

The attacker sends a crafted GET request to /doctortimings.php?editid=1' AND GTID_SUBSET(CONCAT(0x716a766b71,(SELECT (ELT(7032=7032,1))),0x71786a7671),7032) AND 'mCrh'='mCrh (error-based) or a time-based blind payload. The application concatenates the value directly into a SQL query. Tool: sqlmap fully automates this.
Conditions required:
  • Authenticated session on the target application
  • Network access to the /doctortimings.php endpoint
Where this breaks in practice:
  • Requires steps 1 and 2 to succeed first, which is near-impossible in enterprise
Detection/coverage: Any WAF with basic SQLi signatures would block this; the payloads are textbook.
STEP 04

Exfiltrate or manipulate data

With SQL injection confirmed, the attacker can dump the MySQL database contents, including any patient demo data, user credentials, or application configuration. Impact is limited to whatever fake data a student loaded into the demo. No lateral movement, no domain escalation, no supply-chain pivot.
Conditions required:
  • Successful SQL injection from step 3
Where this breaks in practice:
  • Data is student demo data with no real-world value
  • No connection to enterprise identity systems, AD, or production databases
  • MySQL likely running as local service with no network privileges
Detection/coverage: Database activity monitoring would flag bulk SELECT/UNION queries, but no one monitors a XAMPP demo instance.
03 · Compensating Control

1
IGNORE 0.5→IGNORE 0.0
Decommission the instance immediately — This is an unsupported, unpatched student project with systemic SQL injection across every endpoint. There is no safe way to run it. Remove the XAMPP/WAMP stack and the application files entirely. Under the noisgate IGNORE verdict, no action is required — but if you find this running, decommission is the only rational response.
2
IGNORE 0.5→LOW 2.0
Block application URLs at your WAF — If immediate removal is not possible, block all traffic to URLs matching /doctortimings.php, /viewbilling.php, /viewmedicine.php, and similar endpoints. This buys time but does not fix the dozens of other vulnerable endpoints in the application.
What doesn't work
  • Patching — No vendor exists to issue a patch. The project is abandoned student source code with no maintainer.
  • WAF generic SQLi rules alone — May catch some payloads, but the application has so many injection points (15+ known CVEs across different endpoints) that coverage will be incomplete. New endpoints can be discovered trivially.
  • Input validation at the network layer — The injection is in PHP application code; network-layer controls cannot fix the root cause, only partially filter known payloads.
04 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone. Not on CISA KEV. No known campaigns. No GreyNoise or Shodan scanning activity targeting this application.
Proof of conceptPublic. GitHub issue by researcher Vivian (ltranquility/submit#19). Error-based and time-based blind SQLi payloads provided. Trivially automatable with sqlmap. No dedicated GitHub repo for this CVE. Not indexed on pocindex.io.
EPSS score0.00333 (~0.3rd percentile) — near the absolute bottom of the distribution, consistent with a vulnerability no one will ever exploit in the wild.
KEV statusNot listed. No CISA due date.
CVSS v3.1 vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L (6.3 Medium). Network-reachable, low complexity, requires authentication, unchanged scope, low CIA impact across all three pillars.
CVSS v4.0 score5.3 Medium (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P)
Affected versionsitsourcecode Hospital Management System 1.0 — the only version. No other releases exist. No distro packages. No container images.
Fixed versionNone. No vendor support. No patch pipeline. Project is abandoned educational source code.
Scanning / exposure dataZero instances found on Shodan, Censys, or FOFA. This application has no internet footprint. No GreyNoise tags exist for it.
Researcher / disclosureVivian (GitHub: ltranquility). Disclosed 2026-06-29 via VulDB #374556. Part of a systematic audit producing 15+ CVEs against this single student project.

Sources.

  1. OpenCVE — CVE-2026-13548
  2. GitHub Advisory / PoC by Vivian (ltranquility)
  3. VulDB Entry 374556
  4. itsourcecode.com — Hospital Management System Project
  5. NVD — CVE-2026-13548
  6. Hol Security — CVE-2026-13548
  7. Threat Radar — itsourcecode HMS SQLi CVEs
05 · The Call

Final Verdict
↓ DOWNGRADED to IGNORE (0.5/10)

Why this verdict

  • Zero enterprise installed base. The affected product is a free PHP student capstone project on itsourcecode.com for BSIT thesis demonstrations. It has no commercial distribution, no vendor, no customers, and no production deployments. No security team managing 10,000 hosts has this in their environment.
  • No high-value role exists. This software does not serve as an identity provider, hypervisor, CI/CD component, backup system, production database engine, network edge appliance, SIEM, or any other infrastructure-critical role. It is not installed on domain controllers. It is not embedded in supply chains. The entire blast radius is a single XAMPP instance on a student's laptop.
  • Role multiplier: none. Walking the high-value-role catalog: Active Directory — no; PKI/CA — no; PAM — no; hypervisor/K8s — no; CI/CD — no; backup — no; production DB — no; EDR/AV — no; network edge — no; SIEM — no; OT/ICS — no. Zero percent of the installed base occupies a high-value role because the enterprise installed base is zero. The floor rule does not apply — there is no installed base to protect.
  • CVE farm noise. This is one of 15+ nearly identical SQL injection CVEs filed against the same student project. Each targets a different PHP file with the same unsanitized parameter pattern. These inflate CVE counts and scanner findings without adding real-world risk.

Why not higher?

There is nothing to protect. The software has no enterprise users, no production deployments, and no internet exposure. Even if an instance somehow existed on a network, it would require authentication and would contain only demo data. The floor rule requires ≥1% of the installed base to occupy a high-value role — but the installed base is zero enterprise hosts. EPSS of 0.00333 confirms the probability of exploitation is negligible.

Why not lower?

IGNORE is already the lowest severity. We assign 0.5 rather than 0.0 solely because the SQL injection is technically real and a PoC exists — if someone inexplicably deployed this in production, the bug would work as described.

06 · Verification

Crowdsourced verification payload.

Run from any auditor workstation or scanner host with curl installed. Invoke as bash check_cve_2026_13548.sh http://target-host. No special privileges required — this only sends HTTP GET requests to check for the presence of the vulnerable application.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
set -euo pipefail
# CVE-2026-13548 checker: itsourcecode Hospital Management System 1.0
# SQL injection in /doctortimings.php via editid parameter
# Usage: bash check_cve_2026_13548.sh http://target-host

TARGET="${1:?Usage: $0 http://target-host}"
ENDPOINT="${TARGET}/doctortimings.php"

echo "[*] Checking for itsourcecode Hospital Management System at ${TARGET}"

# Step 1: Check if the endpoint exists
HTTP_CODE=$(curl -sk -o /dev/null -w '%{http_code}' "${ENDPOINT}" 2>/dev/null || echo "000")
if [ "$HTTP_CODE" = "000" ]; then
  echo "[!] UNKNOWN - Cannot reach ${ENDPOINT}"
  exit 2
fi

if [ "$HTTP_CODE" = "404" ]; then
  echo "[+] PATCHED/NOT PRESENT - /doctortimings.php not found (HTTP 404)"
  exit 0
fi

# Step 2: Check for the telltale page content
BODY=$(curl -sk "${ENDPOINT}" 2>/dev/null)
if echo "$BODY" | grep -qi "Hospital Management System"; then
  echo "[!] VULNERABLE - itsourcecode Hospital Management System detected at ${ENDPOINT}"
  echo "    /doctortimings.php is reachable (HTTP ${HTTP_CODE})"
  echo "    This application has systemic SQL injection. Decommission immediately."
  exit 1
else
  echo "[?] UNKNOWN - ${ENDPOINT} responded (HTTP ${HTTP_CODE}) but content does not match expected application."
  exit 2
fi