Severity by source
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
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.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.
Denial of service in GoAccess before version 1.11 allows an unauthenticated remote client to crash the built-in real-tim
Heap buffer overflow in GoAccess 1.10.2's parse_browser() routine lets a remote attacker corrupt or crash the analyzer b
Same weakness CWE-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: ModerateShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-51306