Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft PE with undersized relocation BlockSize
-
DeliveryDeliver sample to analyst or pipeline
-
ExploitManalyze parses relocation block
-
ExecutionInteger underflow in _parse_relocations
-
ImpactOut-of-bounds read crashes parser
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer underflow checks
|
| Exploitation Conditions | Exploitation requires the attacker to supply a specially crafted PE file (with a malformed IMAGE_BASE_RELOCATION BlockSize field) that is then parsed locally by Manalyze 1.0.0 - for example a malware analyst manually running the tool or an automated triage/sandbox pipeline that ingests untrusted samples. Limiting factors: the attack is local only (no network vector), the victim must actively run Manalyze against the malicious file, and the impact is confined to crashing/disrupting the analysis tool (no code execution, no confidentiality or integrity loss). It is a real but low-consequence input-validation flaw. |
| Impact | This is a low-severity, locally-scoped robustness bug in a niche tool, not a real-world priority. The vendor CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N) with impact VC:N/VI:N/VA:L scores 4.8 and correctly reflects an availability-only outcome - an integer underflow of the relocation BlockSize field in Manalyze's PE parser that leads to a crash or out-of-bounds read, not code execution or data disclosure. There is no EPSS score, no CISA KEV listing, and no public exploit code reported (VulDB is the sole reporter). The 'local approach' means an attacker must get an analyst to run Manalyze against a crafted PE file; there is no remote/network exposure. Note a signal conflict: the input Tags include 'Information Disclosure', but the CVSS vector explicitly sets VC:N (no confidentiality impact) and only VA:L - the vulnerability is a denial-of-service/crash, so the Information Disclosure tag appears mislabeled. The patch commit adds explicit bounds checks (BlockSize < header_size and alignment validation), confirming the fix scope is defensive input validation. Overall: genuine bug, correctly fixed, but very low real-world urgency. |
| Exploit ScenarioDerived | An attacker crafts a malicious PE binary with a relocation directory whose BlockSize field is smaller than the header size, then delivers it to a malware analyst or an automated pipeline that runs Manalyze on untrusted samples. When Manalyze parses the file, PE::_parse_relocations underflows when subtracting the header size from BlockSize, producing a huge value that drives an out-of-bounds read and crashes or disrupts the analysis process. No public exploit code has been published; the crash requires only that the victim analyze the attacker-supplied file locally. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Parsing a crafted PE file with a malformed IMAGE_BASE_RELOCATION BlockSize field can crash or disrupt JusticeRage Manalyze 1.0.0 through an integer underflow in PE::_parse_relocations, a low-severity denial-of-service condition confined to the analysis tool itself. The attack is local only: the victim must run Manalyze (manually as a malware analyst, or automatically in a triage/sandbox pipeline) against the attacker-supplied sample, and there is no code execution, confidentiality loss, or integrity loss - only the parsing routine misbehaves. No public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and the upstream commit c372b6bbca9d8c63812be50596fefa4a79c65fd0 adds the missing BlockSize validation; the EPSS signal for this niche tooling bug is consistent with a low real-world priority.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply commit c372b6bbca9d8c63812be50596fefa4a79c65fd0 (https://github.com/JusticeRage/Manalyze/commit/c372b6bbca9d8c63812be50596fefa4a79c65fd0), which validates IMAGE_BASE_RELOCATION BlockSize against the 8-byte header, enforces 16-bit alignment of the remaining block, and rejects an under-sized relocation directory, and also adds IMAGE_DEBUG_MISC bounds checks; rebuild from source if no tagged release containing the commit is available. Because the vulnerability is local and only degrades the analysis tool, the most practical compensating control is isolation: run Manalyze on untrusted samples inside a disposable container or VM with CPU/memory/time limits and non-persistent storage, and treat parser crashes as expected rather than as a compromise indicator - the trade-off is analyst workflow friction and the loss of an interactive shell on the host. Do not feed untrusted binaries to a privileged or production Manalyze instance, and if Manalyze is embedded in an automated triage pipeline, wrap the parse call so an abort only fails that one sample (drop the job and continue) instead of halting the pipeline. See https://vuldb.com/vuln/408568 for the vendor/third-party advisory record. No vendor-supplied patch version number is stated in the input data, so do not rely on a version string alone to confirm remediation.
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
Manalyze is a static PE (Portable Executable) analysis library and CLI used to triage Windows binaries; manape/pe.cpp contains the parser, and PE::_parse_relocations walks the base relocation directory of the PE optional header, iterating over IMAGE_BASE_RELOCATION blocks. Each block begins with an 8-byte header (VirtualAddress + SizeOfBlock; header_size = 2*sizeof(uint32_t)), and the code assumed the attacker-controlled BlockSize field was at least that large before computing the remaining entry count. Because the value was not validated, a BlockSize smaller than the header causes an unsigned integer underflow (CWE-191, as mapped to the vulnerable function), so the derived size/offset arithmetic wraps to a huge value and the parser reads or loops out of bounds, aborting or destabilizing the analysis process. The fix adds explicit guards - remaining_size < header_size, reloc->BlockSize < header_size, and a (BlockSize - header_size) % sizeof(uint16_t) == 0 alignment check - and the same commit also hardens PE::_parse_debug with IMAGE_DEBUG_MISC length/bounds validation, indicating a general input-validation gap in the manape parser rather than a memory-corruption primitive. The CPE cpe:2.3:a:justicerage:manalyze:*:*:*:*:*:*:*:* is wildcarded, meaning no version is excluded from the vulnerable code path.
Know when Manalyze 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
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Local parsing of an attacker-supplied file that the analyst must choose to open (UI:R, AV:L); underflow yields only a crash so C:N/I:N and A:L.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
DescriptionCVE.org
A security flaw has been discovered in JusticeRage Manalyze 1.0.0. Impacted is the function PE::_parse_relocations of the file manape/pe.cpp of the component PE Parser. Performing a manipulation of the argument BlockSize results in integer underflow. The attack requires a local approach. The patch is named c372b6bbca9d8c63812be50596fefa4a79c65fd0. It is recommended to apply a patch to fix this issue.
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
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
EUVD-2026-85013
GHSA-33f8-hqvp-cf7j
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB