CVE-2026-103436

Uninitialized Memory Disclosure via CGI in apcupsd

Published Sep 30, 2026 CVSS 3.1 · 3.7 Low EPSS < 1% KEV · Not listed
Description
apcupsd through 3.14.14 discloses uninitialized stack memory in getupsvar() in src/cgi/upsfetch.c (used by upsstats.cgi, multimon.cgi, and upsfstats.cgi. On the single-field path, when the matched STATUS line has fewer than three whitespace-separated tokens, sscanf("%*s %*s %s", answer) performs no assignment but the function returns success, and thus the caller prints the uninitialized destination buffer into the HTTP response.

Analysis

AI-generated

Technical impact

This vulnerability exists in the getupsvar() function of apcupsd, where uninitialized stack memory can be printed into an HTTP response. The bug occurs when a STATUS line contains fewer than three whitespace‑separated tokens; the sscanf call assigns no value, yet the caller assumes a successful parse and outputs the uninitialized buffer. The result is that arbitrary, uninitialized data may be sent to a requesting client, leaking internal data or sensitive information.

Affected Systems

apcupsd version 3.14.14 and earlier. The bug is present in all CGI scripts that call getupsvar(), namely upsstats.cgi, multimon.cgi, and upsfstats.cgi. Users running apcupsd on any platform that exposes these CGI endpoints are potentially susceptible.

Risk and Exploitability

The CVSS score of 3.7 indicates low severity, and no EPSS score is available. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires reaching the affected CGI scripts over HTTP, which is common for web‑based UPS monitoring interfaces. An attacker who can craft a request that triggers the parsing logic can obtain the uninitialized data in the response, potentially revealing internal state or configuration details.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade apcupsd to a version newer than 3.14.14 where getupsvar() properly initializes the buffer
  • If an upgrade is not immediately possible, restrict network access to the CGI scripts to trusted hosts or networks
  • Disable or remove upsstats.cgi, multimon.cgi, and upsfstats.cgi from the web server configuration to eliminate the attack surface

Generated by OpenCVE AI on September 30, 2026 at 20:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title Uninitialized Memory Disclosure via CGI in apcupsd
Type Values Removed Values Added
Description apcupsd through 3.14.14 discloses uninitialized stack memory in getupsvar() in src/cgi/upsfetch.c (used by upsstats.cgi, multimon.cgi, and upsfstats.cgi. On the single-field path, when the matched STATUS line has fewer than three whitespace-separated tokens, sscanf("%*s %*s %s", answer) performs no assignment but the function returns success, and thus the caller prints the uninitialized destination buffer into the HTTP response.
First Time appeared Apcupsd
Apcupsd apcupsd
Weaknesses CWE-457
CPEs cpe:2.3:a:apcupsd:apcupsd:*:*:*:*:*:*:*:*
Vendors & Products Apcupsd
Apcupsd apcupsd
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'}

Weaknesses
  • CWE-457

    Use of Uninitialized Variable

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Oct 2, 2026, 4:20 PM
Reserved
Sep 30, 2026, 3:38 PM
Status
Deferred
Published
Sep 30, 2026, 4:17 PM
Modified
Oct 2, 2026, 5:17 PM