A free student-tutorial PHP app gets yet another VulDB CVE — this one almost certainly isn't running in your enterprise
itsourcecode's *Baptism Information Management System* is a free downloadable PHP/MySQL learning project distributed from itsourcecode.com as a teaching artifact for computer-science students. Version 1.0 is the only version that exists. CVE-2026-13551 (CWE-74, injection — almost certainly SQL injection in a parameterized endpoint, consistent with the dozens of near-identical VulDB-issued CVEs against this same codebase, e.g. CVE-2025-10404 / 10405 in rptbaptismal.php) lets an unauthenticated remote attacker tamper with a request parameter to extract or modify data.
Vendor CVSS of 7.3 HIGH is technically defensible in isolation — network reach, no auth, no UI, partial CIA impact. But in the real world this score is meaningless. The codebase has no commercial deployments, no vendor security program, no patch pipeline, and an effectively zero enterprise installed base. It exists on GitHub forks and student laptops. Treating it as a HIGH on a corporate patch register is noise. The honest verdict is *not on your fleet — and if it is, you have a shadow-IT problem, not a CVE problem*.
3 steps from start to impact.
Locate an exposed instance
/baptismal/, rptbaptismal.php, login.php with the project's hardcoded title). Tools: Shodan, FOFA, Google dorks (intitle:"Baptism Information Management System"). Internet-wide population is in the low hundreds at most — mostly student lab boxes and abandoned hosting accounts.- Target organization has actually deployed this exact PHP project
- Instance is reachable from the attacker's network position
- Functionally zero enterprise deployments — this is tutorial code
- Even where deployed, hosts are usually behind shared-hosting NAT or localhost-only XAMPP
Identify the injectable parameter
id, bid, or a search field) with single-quote and boolean payloads using sqlmap or manual ' OR 1=1 -- - strings.- The specific vulnerable endpoint is reachable without authentication
- The advisory does not yet name the exact parameter — chain is hypothetical until PoC drops
Exploit the injection
baptismal database (members, parents, dates, addresses). On a vulnerable MySQL backend with FILE privileges, escalate to INTO OUTFILE for webshell drop. End state is read/modify of the small project DB.- Database user has read access to relevant tables
- For RCE escalation:
FILEprivilege and writable webroot
- MySQL
FILEprivilege is off by default on modern XAMPP/MariaDB - The data exposed is a baptism register — not regulated PII for most enterprises
INTO OUTFILE artifact; database audit logs show anomalous UNION SELECT.The supporting signals.
| In-the-wild exploitation | None observed. Not in CISA KEV. No campaigns reference this codebase. |
|---|---|
| Public PoC | Not yet published for *this specific CVE*; near-identical SQLi PoCs exist for sibling CVEs (e.g. CVE-2025-10404, CVE-2025-10405) against the same project on cvefeed.io and exploit-db forks. |
| EPSS | Effectively <0.1% — typical for itsourcecode CVEs (no exploit interest). |
| CISA KEV | Not listed. Will never be listed — no real-world targeting. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L — network, no auth, partial CIA. Score is *internally consistent* but ignores installed base. |
| Affected versions | itsourcecode Baptism Information Management System 1.0 (the only released version). |
| Fixed version | No patch. Vendor (itsourcecode.com) does not run a security response program; project is abandoned tutorial code. |
| Exposure data | Shodan / FOFA queries for the project banner return near-zero hits. No enterprise footprint. |
| Disclosure | 2026-06-29, CNA almost certainly VulDB — consistent with their bulk-disclosure pattern against itsourcecode projects. |
| Reporter | Anonymous researcher submitted via VulDB community pipeline (typical for this codebase family). |
noisgate verdict.
The single decisive factor is installed base: this is a free PHP tutorial project from itsourcecode.com with effectively zero enterprise deployment and zero commercial support. A 7.3 HIGH against software you do not and would never run is patch-register noise.
Why this verdict
- Installed base near zero: itsourcecode ships free student PHP projects; Shodan/FOFA show negligible enterprise exposure. The CVSS score assumes a target population that doesn't exist in corporate networks.
- No patch, no vendor: itsourcecode.com runs no security response. Even if you wanted to remediate in place, there is nothing to apply — the only fix is *remove the application*.
- Role multiplier — none applies: The component is not an identity provider, hypervisor, PAM, backup, CA, kernel agent, network edge, SIEM, or OT controller. There is no high-value-role deployment of a baptism register. Blast radius caps at the single database of the app itself.
- Pattern recognition: This is the Nth CVE in a long series of VulDB-issued findings against the same tutorial codebase (CVE-2025-10404, 10405, and family). Each is technically a real bug; none has ever shown enterprise impact.
- Friction audit: Unauth + network reach is real, but conditional on *the application existing on your network*. For 99.99% of defenders that condition is false — which collapses risk to zero.
Why not higher?
MEDIUM or HIGH would imply this software meaningfully exists in enterprise estates. It does not. There is no KEV listing, no exploitation telemetry, no commercial scanner signature pressure, and the impact is bounded to a single small PHP app's database.
Why not lower?
We don't go below IGNORE. If by some accident this is running in your environment, the right answer is still *remove it*, not *patch it* — IGNORE is the correct bucket because the action is binary, not a severity-graded patch cycle.
What to do — in priority order.
- Inventory check — confirm absence — Run a one-time asset query for any host serving the itsourcecode Baptism IMS (file path
/baptismal/, bannerBaptism Information Management System). If nothing returns, document a no-op verdict and close. No mitigation SLA applies — IGNORE bucket. - If found, remove — don't patch — There is no upstream patch. Delete the application, revoke its DB credentials, and migrate any real data to a supported platform. Treat this as a shadow-IT cleanup, not a vulnerability remediation.
- Block at WAF if removal is delayed — If you must keep the app online briefly during data migration, front it with a WAF (AWS WAF SQLi managed rule, Cloudflare OWASP ruleset, or ModSecurity CRS paranoia ≥2) to neutralize the trivial SQLi pattern in transit.
- Add the itsourcecode product family to your asset deny-list — Add
itsourcecode.com-sourced projects to your shadow-IT detection rules so future tutorial-grade deployments are flagged at procurement / code-review time rather than turning into a steady CVE drip.
- Waiting for a vendor patch — itsourcecode doesn't issue them. There is no security pipeline to consume.
- Generic CVSS-driven SLA enforcement — applying your HIGH-bucket 30-day clock to this CVE wastes change-control bandwidth on software you don't run.
- Database hardening alone — removing MySQL
FILEprivilege blocks the RCE escalation but the underlying SQLi still leaks the dataset.
Crowdsourced verification payload.
Run on any auditor workstation that can reach internal HTTP endpoints, or schedule against your asset inventory. Invoke as ./check_baptism_ims.sh targets.txt where targets.txt is one http(s)://host[:port] per line. No special privileges required — pure HTTP probing.
#!/usr/bin/env bash
# noisgate verifier — CVE-2026-13551
# itsourcecode Baptism Information Management System 1.0 — presence check
# Exit codes: 0 = PATCHED (not present anywhere), 2 = VULNERABLE (instance found), 3 = UNKNOWN
set -u
if [[ $# -lt 1 ]]; then
echo "usage: $0 <targets.txt>" >&2
exit 3
fi
TARGETS="$1"
if [[ ! -r "$TARGETS" ]]; then
echo "cannot read $TARGETS" >&2
exit 3
fi
PATHS=("/baptismal/" "/baptismal/login.php" "/baptismal/rptbaptismal.php" "/Baptism/" "/bims/")
MARKERS=("Baptism Information Management System" "rptbaptismal" "itsourcecode")
FOUND=0
while IFS= read -r base; do
[[ -z "$base" || "$base" =~ ^# ]] && continue
for p in "${PATHS[@]}"; do
url="${base%/}${p}"
body=$(curl -sk --max-time 8 -A "noisgate-verifier/1.0" "$url" || true)
for m in "${MARKERS[@]}"; do
if grep -qiF "$m" <<< "$body"; then
echo "VULNERABLE $url (marker: $m)"
FOUND=1
break 2
fi
done
done
done < "$TARGETS"
if [[ $FOUND -eq 1 ]]; then
echo "RESULT: VULNERABLE — itsourcecode Baptism IMS instance(s) detected. Remove, do not patch."
exit 2
fi
echo "RESULT: PATCHED — no itsourcecode Baptism IMS instance found in supplied targets."
exit 0
If you remember one thing.
Sources
- CISA Vulnerability Summary — Week of Jan 12, 2026
- CVE-2025-10404 — sibling SQLi in same itsourcecode Baptism IMS codebase
- CVE-2025-10405 — sibling vulnerability, same product
- Feedly — Latest itsourcecode vulnerabilities feed
- VulDB — CVE database (typical CNA for itsourcecode disclosures)
- OpenCVE — CVE search
- GitHub Advisory Database
- CWE-74 — Improper Neutralization of Special Elements in Output ('Injection')
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.