Skip to main content

GoAccess CVE-2026-55777

| EUVDEUVD-2026-51306 MEDIUM
Out-of-bounds Read (CWE-125)
2026-07-30 GitHub_M
5.3
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.4 MEDIUM

Network delivery via log poisoning, no privileges needed; UI:R for operator-triggered processing; C:L for bounded heap read potential despite VC:N in provided 4.0 vector.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

4
Patch available
Jul 30, 2026 - 22:20 EUVD
Source Code Evidence Fetched
Jul 30, 2026 - 21:38 vuln.today
Analysis Generated
Jul 30, 2026 - 21:38 vuln.today
CVE Published
Jul 30, 2026 - 20:37 cve.org
MEDIUM 5.3

DescriptionCVE.org

GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through the browser. Prior to 1.11, the parse_ios() function uses an attacker-controlled keyword-to-OS offset as both the source offset and copy length for memmove, allowing a crafted User-Agent in a processed access log to read up to approximately 4 KB beyond the heap allocation and conditionally crash GoAccess. This issue is fixed in version 1.11.

AnalysisAI

Out-of-bounds heap read in GoAccess prior to version 1.11 allows a remote unauthenticated attacker to read approximately 4 KB beyond a heap allocation and conditionally crash the analyzer by embedding a crafted User-Agent string into any web server access log that GoAccess subsequently processes. The defect resides in the parse_ios() function (src/opesys.c), where an attacker-controlled keyword-to-OS offset value is incorrectly passed as both the source pointer offset and the copy length to memmove(), violating the intended semantics and enabling the out-of-bounds read. No public exploit code has been identified and this vulnerability is not listed in CISA KEV; a vendor-confirmed fix is available in version 1.11.

Technical ContextAI

GoAccess is a real-time, terminal-based and browser-based web log analyzer (CPE: cpe:2.3:a:allinurl:goaccess:*:*:*:*:*:*:*:*). The affected code path is the parse_ios() function in src/opesys.c, which parses iOS-style User-Agent strings to extract OS version information from web server access logs. The root cause is classified as CWE-125 (Out-of-bounds Read): the variable offset, which encodes the distance from the start of the agent string to a matched keyword, is passed directly as the third argument (byte count) to memmove() - a length parameter - rather than computing the correct length as (q - p) + 1, where p and q delimit the actual suffix to be moved. Because offset is derived from attacker-supplied User-Agent content present in a processed log file, an adversary can precisely control how far past the heap allocation the read extends, up to roughly 4 KB. The corrected commit (ba813ed97d998dbdcb8d87e178799a4bb2da9e81) replaces the erroneous memmove(agent + tlen, agent + offset, offset) with memmove(agent + tlen, p, (size_t)(q - p) + 1), decoupling the source pointer from the length calculation.

RemediationAI

Upgrade GoAccess to version 1.11, which contains the vendor-confirmed fix per the GitHub security advisory (https://github.com/allinurl/goaccess/security/advisories/GHSA-5phr-qpgf-hgrg) and patching commit ba813ed97d998dbdcb8d87e178799a4bb2da9e81. If an immediate upgrade is not feasible, restrict which User-Agent values GoAccess processes by pre-filtering log files to strip or normalize User-Agent fields before ingestion - tools such as awk or sed can sanitize lines where the User-Agent contains unusual iOS-style keyword patterns, though this introduces operational overhead and may suppress legitimate log entries. Alternatively, if GoAccess is used in an automated pipeline, temporarily suspend unattended log processing and run it only in supervised sessions while the patch is applied; this converts the UI:P condition from a non-barrier into an intentional gate. There are no known configuration flags within GoAccess itself to disable iOS User-Agent parsing without patching.

Vendor StatusVendor

SUSE

Severity: Moderate

Share

CVE-2026-55777 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy