Skip to main content

Manalyze CVE-2026-95958

| EUVDEUVD-2026-85013 MEDIUM
Integer Underflow (CWE-191)
2026-09-23 VulDB GHSA-33f8-hqvp-cf7j
4.8
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft PE with undersized relocation BlockSize
  2. Delivery
    Deliver sample to analyst or pipeline
  3. Exploit
    Manalyze parses relocation block
  4. Execution
    Integer underflow in _parse_relocations
  5. Impact
    Out-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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Manalyze 1.0.0

Affected Packages

euvd manalyze no fix

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

Vendor (VulDB) PRIMARY 4.8 MEDIUM
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
vuln.today AI 3.3 LOW

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.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche open-source PE/malware static-analysis tool used mainly by researchers
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

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