CVE-2026-109524
Executive Summary
CVE-2026-109524 is a missing authorization (CWE-862) vulnerability in the open-source project girishsaraf Online-Appointment-Booking-System, affecting the Admin display component file Admin/showdoctor.php. An unauthenticated remote attacker can reach functionality in that file that should be restricted to administrative users, resulting in unauthorized access to data exposed by the page. The vendor has not responded or issued a fix, and the product follows a rolling release model, so no patched version exists and remediation must rely on compensating controls.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability resides in Admin/showdoctor.php, part of the "Admin Display Pages" component of the Online-Appointment-Booking-System. The core defect is missing authorization (CWE-862): the affected code path performs an action or returns data without verifying that the requesting user holds the required administrative role or session. The NVD entry describes the issue only as "missing authorization" triggered through "some unknown functionality" of that file, so the precise function, parameter, or protected resource exposed cannot be determined from the available data.
What can be stated with confidence is the access-control model failure. A page located under an administrative path is expected to enforce an authentication and authorization gate — typically a session/role check — before rendering output or processing input. When that enforcement is absent, any client that can reach the endpoint over HTTP can invoke it directly and receive whatever the page returns. Because the request is evaluated with no identity check, the attacker requires no credentials, no prior interaction with the application, and no special network position (CVSS vector AV:N/PR:N/UI:N). The only assessed impact is a limited confidentiality loss (C:L), meaning exposure of information the page renders, such as the doctor listing data implied by the filename.
CWE-862 is distinct from CWE-306 (missing authentication for a critical function) in that the functionality may be reachable and the application may even recognize some context, yet no authorization decision is ever made. Practically, this class of bug is introduced when developer convenience routes — admin pages built without a shared guard/middleware — are shipped. The absence of any CNA title detail, function name, or parameter name in the supplied intelligence means downstream exploitation specifics must be treated as class-level only. No version boundary can be established: the product uses a rolling release strategy, the problem was reported through a project issue tracker, and the maintainer has not responded, so the vulnerable commit f427b4757128ca253d33d0cc4e87bbb9c999a4d5 and prior remain exposed.
Exploitation Scenarios
No public proof-of-concept, exploit code, or Nuclei template is tracked for this CVE. NVD states the exploit "has been publicly disclosed," but the fetched intelligence provides no payload, request path beyond the file name, or parameter. The following attack chain is therefore inferred strictly from the vulnerability class (CWE-862, missing authorization on a remotely reachable admin page).
Reconnaissance / target identification: An attacker identifies internet-facing or internally reachable deployments of Online-Appointment-Booking-System, for example by locating services whose directory structure exposes the
Admin/path. Search engine or Shodan queries targeting the application's identifying HTML strings (as reflected in the metadata dorks field) surface candidate hosts.Triggering the flaw class: The attacker requests
Admin/showdoctor.phpdirectly, without authenticating and without an authenticated admin session cookie. Because the file performs no authorization check, the application does not redirect to a login flow and does not return an authorization error; instead it processes the request as if it originated from a legitimate admin view.Execution at the vulnerability-class level: This is not a code-injection or memory-corruption bug. The "payload" is simply an unauthenticated HTTP request to the protected page. Successful exploitation is observable as the page returning content — the doctor records/data the page is designed to display — to a client that never authenticated. The NVD description does not identify any parameter that can be supplied to alter behavior, so no injection-style payload should be assumed.
Post-exploitation impact: The consequence is unauthorized disclosure of the information rendered by
Admin/showdoctor.php. The CVSS impact subscores limit assessed damage to confidentiality only (C:L/I:N/A:N), so no integrity modification or availability loss is claimed. However, harvested data (for example doctor identities and appointment-related information) can enable follow-on targeted phishing, social engineering, or enumeration of further application functionality, and the exposed admin surface may aid discovery of additional access-control gaps in the same component.
Impact Assessment
Per the CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N), the base score is 5.3 (Medium). The attack is network-reachable with low complexity, requires no privileges, and requires no user interaction. Scope is unchanged, and the only scored impact is low confidentiality loss; integrity and availability impacts are none. Affected systems are all live deployments of girishsaraf Online-Appointment-Booking-System at commit f427b4757128ca253d33d0cc4e87bbb9c999a4d5 or earlier, including any instance where the Admin/ directory is web-exposed. Blast radius per instance is bounded by the data the page exposes, but for healthcare-adjacent appointment booking platforms, even a limited disclosure of practitioner data may carry privacy and compliance implications. Because the project is unmaintained with respect to this report and rolling-release, every deployment without an external access-control layer remains exposed indefinitely. EPSS is not yet scored by FIRST.org, and there is no CISA KEV listing, so no quantifiable in-the-wild exploitation signal is available.
Detection Guidance
Sigma Rule
title: Unauthenticated Access to Admin/showdoctor.php (CVE-2026-109524)
id: 8d1c0f52-3a41-4c77-9b0e-5f6a2d9e7c10
status: experimental
description: Detects HTTP requests to the admin display page Admin/showdoctor.php without an authenticated admin session, indicative of missing authorization (CWE-862).
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-109524
author: valtersit.com
date: 2026-01-01
logsource:
category: webserver
detection:
selection_path:
cs-uri-stem|endswith:
- '/Admin/showdoctor.php'
filter_authenticated:
cs-username|exists: true
condition: selection_path and not filter_authenticated
fields:
- c-ip
- cs-uri-stem
- cs-username
- sc-status
falsepositives:
- Legitimate authenticated administrative browsing
- Vulnerability scanners and authorized penetration tests
level: medium
YARA Rule
rule CVE_2026_109524_Missing_Auth_Admin_Page
{
meta:
description = "Detects Online-Appointment-Booking-System Admin display page artifacts associated with missing authorization (CVE-2026-109524)"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-109524"
author = "valtersit.com"
date = "2026-01-01"
severity = "medium"
strings:
$f1 = "showdoctor.php" ascii wide nocase
$f2 = "Online-Appointment-Booking-System" ascii wide nocase
$a1 = "Admin/showdoctor" ascii wide nocase
condition:
filesize < 2MB and any of ($f1, $a1) and $f2
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-109524 Online-Appointment-Booking-System Unauthenticated Admin Access to showdoctor.php"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"/Admin/showdoctor.php"; nocase; http.uri; content:"showdoctor.php"; nocase; classtype:attempted-recon; reference:cve,2026-109524; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-109524; sid:2026109524; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=30s
[ network where network.protocol == "http" and url.path endsWith "/Admin/showdoctor.php" ]
[ network where network.protocol == "http" and url.path endsWith "/Admin/showdoctor.php" and http.response.status_code == 200 ]
Splunk SPL Query
index=web sourcetype=access_combined OR sourcetype=access_common
| search uri_path="*/Admin/showdoctor.php*"
| eval authed=if(isnotnull(cookie) OR isnotnull(remote_user), "yes", "no")
| where authed="no" AND status=200
| stats count min(_time) as first_seen max(_time) as last_seen by src_ip, uri_path, status
| convert ctime(first_seen) ctime(last_seen)
| sort - count
Wazuh OSSEC Rule
<group name="web,accesslog,cve-2026-109524,">
<rule id="2026109524" level="10">
<if_sid>31100</if_sid>
<url>/Admin/showdoctor.php</url>
<description>CVE-2026-109524: Unauthenticated access to Admin/showdoctor.php on Online-Appointment-Booking-System (missing authorization)</description>
<mitre>
<id>T1190</id>
</mitre>
<group>access_control,cwe_862,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
- Immediate mitigations (no vendor fix exists):
- Enforce authorization at the web-server or reverse-proxy layer, returning 401/403 for direct requests to
Admin/showdoctor.phpunless an authenticated administrative session is present. - Restrict network reachability of the
Admin/path to trusted management networks or VPN via IP allowlisting. - Remove the
Admin/showdoctor.phpfile from any deployment where the functionality is not required. - Monitor web access logs for unauthenticated 200 responses to
/Admin/showdoctor.phpusing the detection rules above.
- Patch/upgrade steps:
- No patched release is available. The project follows a rolling release model and the maintainer was informed via an issue report but has not responded. Track the upstream repository for a commit that introduces an authorization check in
Admin/showdoctor.php; because no fixed version identifier exists, validate any future revision against the authorization gap before trusting it. - Until upstream remediates, treat any adopted fork as unverified and re-test the page with an unauthenticated request after each update.
- Long-term hardening:
- Introduce a centralized authorization guard/middleware applied to every file under the
Admin/directory so that no display page relies on ad-hoc checks. - Adopt deny-by-default access control and add authorization regression tests (unauthenticated request must never receive 200 with page data) to CI.
- Perform a full audit of the Admin Display Pages component for other instances of CWE-862, since one missing check often indicates a pattern.
- Where feasible, migrate the workload to a maintained booking platform with a defined security response process.
References
- NVD — CVE-2026-109524: https://nvd.nist.gov/vuln/detail/CVE-2026-109524
- CWE-862 — Missing Authorization: https://cwe.mitre.org/data/definitions/862.html
- girishsaraf Online-Appointment-Booking-System (upstream repository / issue tracker): project reported via public issue report; maintainer has not responded
- FIRST.org EPSS: not yet scored for CVE-2026-109524
- CISA Known Exploited Vulnerabilities Catalog: CVE-2026-109524 not listed (no in-the-wild exploitation evidence tracked)
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.