Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach web-exposed apcupsd CGI
-
DeliveryControl/spoof UPS NIS response data
-
ExploitSend over-long UPS variable value
-
ExecutionOverflow stack buffer via sscanf in getupsvar()
-
PersistOverwrite return address
-
ImpactExecute code as CGI process
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that one of the affected CGI scripts (upsstats.cgi, multimon.cgi, or upsfstats.cgi) is actually deployed and reachable on a web server - these are optional components not enabled in a default daemon-only apcupsd install. The attacker must also be able to influence the UPS variable data returned to getupsvar(), i.e. control a malicious apcupsd Network Information Server or man-in-the-middle the NIS traffic feeding the CGI; this is the AC:H limiting factor. Affected versions are apcupsd through 3.14.14. No user interaction or authentication is required (PR:N/UI:N), but the optional web front-end plus the data-control requirement substantially narrow the realistic attack surface versus the raw 8.1 score. |
| Impact | The CVSS 3.1 base score of 8.1 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) reflects an unauthenticated, network-reachable stack-based buffer overflow with full CIA impact, consistent with potential remote code execution from an sscanf overflow in a CGI-invoked C function. However, the AC:H (high attack complexity) metric is the key tempering signal: exploitation is not a simple one-shot request but depends on the attacker controlling the UPS/NIS data that getupsvar() parses, plus reliable stack-overflow exploitation of a %s-into-fixed-buffer sscanf pattern. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided intelligence, so there is no evidence of active exploitation or automatable mass-exploitation - this reads as a real but conditional priority (unauth RCE potential in a network daemon's web front-end) rather than an urgent in-the-wild threat. There is no SSVC decision data supplied. One data caveat: AV:N is asserted, but the realistic path requires either a malicious/compromised apcupsd Network Information Server or a man-in-the-middle influencing data returned to the CGI - verify the actual data-flow with the vendor/patch commit before treating it as trivially remote. |
| Exploit ScenarioDerived | An attacker who can control or spoof the apcupsd Network Information Server (NIS) data consumed by a web-exposed monitoring CGI (upsstats.cgi, multimon.cgi, or upsfstats.cgi) returns an over-long UPS variable value; when getupsvar() parses it with an unbounded sscanf into a fixed stack buffer, the return address is overwritten. Successful exploitation can lead to code execution in the context of the web/CGI process. No public exploit code is identified at time of analysis, though the vulnerable source line is publicly referenced on GitHub and the flaw is a known variant of CVE-2026-15544. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Stack-based buffer overflow in apcupsd through 3.14.14 allows unauthenticated remote attackers to corrupt memory and potentially execute code through the optional CGI web interface. The flaw lives in getupsvar() in src/cgi/upsfetch.c, which is invoked by upsstats.cgi, multimon.cgi, and upsfstats.cgi; exploitation requires one of those CGI scripts to be deployed and reachable, plus the ability to control or man-in-the-middle the UPS variable data fed to it from an apcupsd Network Information Server. This is an AC:H, PR:N issue with full confidentiality, integrity, and availability impact; no public exploit code has been identified at time of analysis, and it is a related issue to CVE-2026-15544.
RemediationAI
No vendor-released patch identified at time of analysis; the description states the flaw affects apcupsd through version 3.14.14, so no released version is confirmed fixed and administrators should track the upstream SourceForge project page (https://sourceforge.net/projects/apcupsd/) and the Red Hat bug (https://bugzilla.redhat.com/show_bug.cgi?id=2493140) for a fixed release, then upgrade to that version once published. Until a fix is available, the most effective compensating control is to remove or disable the optional CGI front-end entirely - do not deploy upsstats.cgi, multimon.cgi, or upsfstats.cgi on internet-reachable web servers, since these are not required for normal daemon-based UPS monitoring and the trade-off is simply loss of the web status view. If the CGI must remain, restrict access to it at the web server layer (IP allowlisting, authentication, or placing it behind a management-plane reverse proxy) and ensure the CGI only queries a trusted, controlled apcupsd NIS host so that attacker-influenced UPS variable data cannot reach getupsvar(); this depends on hardening or isolating the NIS traffic path and is weaker than outright removal. Review and address CVE-2026-15544 alongside this issue.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is apcupsd's CGI-based status front-end, not the core UPS monitoring daemon. getupsvar() in src/cgi/upsfetch.c parses UPS status data returned by an apcupsd Network Information Server (NIS) using sscanf(), and the destination on the stack is sized for expected input; when the upstream server returns an oversized field, the parsing routine writes past that fixed-size buffer, a classic CWE-121 stack-based buffer overflow. Because the vulnerable path is only reachable through upsstats.cgi, multimon.cgi, and upsfstats.cgi, the technology chain is web CGI (C) -> apcupsd NIS client library -> sscanf parsing of attacker-influenced UPS variables. The CPE cpe:2.3:a:apcupsd:apcupsd:*:*:*:*:*:*:*:* indicates all apcupsd builds through 3.14.14 are in scope. The AC:H rating in the assessed vector reflects that the attacker must both have the optional CGI deployed and be able to influence the data returned by the NIS host, for example by pointing the CGI at a malicious server or intercepting NIS traffic; a default daemon-only install does not expose this attack surface.
Know when Apcupsd gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated network-triggered stack overflow with RCE potential (C/I/A:H), but AC:H because it needs a deployed optional CGI plus attacker-controlled UPS/NIS data rather than a default one-shot request.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
apcupsd through 3.14.14 has an sscanf stack-based buffer overflow in getupsvar() in src/cgi/upsfetch.c (used by upsstats.cgi, multimon.cgi, and upsfstats.cgi), a related issue to CVE-2026-15544.
Executive ViewAI
A memory-corruption flaw in apcupsd, the widely deployed open-source UPS monitoring daemon (all versions through 3.14.14), exposes organizations that publish apcupsd's optional CGI web status pages to unauthenticated remote attacks with full confidentiality, integrity, and availability impact. Only environments running upsstats.cgi, multimon.cgi, or upsfstats.cgi on an internet- or broadly reachable web server are exposed, and successful exploitation additionally requires an attacker to control or intercept the UPS variable data fed from the Network Information Server. Because no vendor patch exists and the vulnerable components are optional and often overlooked, leadership should treat this as a manageable but urgent exposure that hinges on discovering and removing or isolating those CGI endpoints.
No vendor-released patch identified at time of analysis. Interim mitigations: remove or disable upsstats.cgi, multimon.cgi, and upsfstats.cgi; restrict access to those endpoints and to the apcupsd Network Information Server (TCP 3551) to trusted management networks or localhost; protect UPS variable/NIS traffic with TLS or IPsec to prevent man-in-the-middle manipulation; monitor web and NIS logs for anomalous requests until a fixed apcupsd release beyond 3.14.14 is available.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.
Apcupsd 0.3.91_5, as used in pfSense through 2.4.4-RELEASE-p3 and other products, has an Arbitrary Command Execution iss
In Adam Kropelin adk0212 APC UPS Daemon through 3.14.14, the default installation of APCUPSD allows a local authenticate
Apcupsd 0.3.91_5, as used in pfSense through 2.4.4-RELEASE-p3 and other products, has an XSS issue in apcupsd_status.php
Uninitialized stack memory disclosure in apcupsd's optional CGI web interface (upsstats.cgi, multimon.cgi, upsfstats.cgi
EUVD-2026-90027
GHSA-mx74-w6g6-vppg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB