Vulnerability record · CVE-2020-13564 · published 1 February 2021
CVE-2020-13564: phpGACL template acl_id parameter reflected XSS
PPhpgacl Project · Phpgacl
phpGACL 3.3.7 contains a cross-site scripting flaw in its template functionality, where the acl_id parameter is not properly neutralized before being returned in an HTTP response. A crafted URL can cause arbitrary JavaScript to execute in the victim's browser, which matters because phpGACL is embedded in applications such as OpenEMR that handle clinical data.
Description
A cross-site scripting vulnerability exists in the template functionality of phpGACL 3.3.7. A specially crafted HTTP request can lead to arbitrary JavaScript execution. An attacker can provide a crafted URL to trigger this vulnerability in the phpGACL template acl_id parameter.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Automated analysis
high priorityThe flaw is remotely reachable with no authentication and has a very high EPSS score with public exploit detail, though it requires user interaction and is not in KEV.
What it is
phpGACL 3.3.7 contains a cross-site scripting flaw in its template functionality, where the acl_id parameter is not properly neutralized before being returned in an HTTP response. A crafted URL can cause arbitrary JavaScript to execute in the victim's browser, which matters because phpGACL is embedded in applications such as OpenEMR that handle clinical data.
Impact
An attacker can execute arbitrary JavaScript in the context of a victim's session, enabling theft of session cookies or other sensitive data and actions performed as the victim. The CVSS scope change (S:C) indicates the impact can extend beyond the vulnerable component.
Attack surface
Reachable over the network via a crafted URL containing the acl_id parameter; no authentication is required (PR:N), but the victim must be induced to load the link (UI:R).
Exploitation
Not listed in CISA KEV, but EPSS is 0.75856 (99.5th percentile) and the only references are Talos advisories tagged Exploit, indicating public exploit detail exists though no in-the-wild activity is confirmed.
What to do
- Upgrade phpGACL to a version that fixes the template acl_id XSS, or apply the vendor patch referenced by the Talos advisory.
- If phpGACL is bundled in OpenEMR or another application, update that application to a release containing the fixed library.
- Encode or validate the acl_id parameter on output and reject unexpected characters at the template layer.
- Deploy a WAF rule or input filter that blocks script content in the acl_id parameter as a temporary compensating control.
Detection
- Search web and proxy logs for requests to phpGACL template endpoints with script-like payloads in the acl_id parameter.
- Monitor for reflected script content in responses from phpGACL template pages.
- Alert on outbound requests or cookie access patterns consistent with XSS payload execution from application pages.
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Affected products
2 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| https://talosintelligence.com/vulnerability_reports/TALOS-2020-1177 | ExploitThird Party Advisory |
| https://talosintelligence.com/vulnerability_reports/TALOS-2020-1177 | ExploitThird Party Advisory |
Track CVE-2020-13564 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2020-13564), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.