Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply crafted hash file with near-buffer-capacity username
-
DeliveryInduce operator to run hashcat --username --show against file
-
Exploitoutfile_write() sequentially memcpy's fields without bounds validation
-
ExecutionAccumulated length exceeds HCBUFSIZ_LARGE heap buffer
-
PersistOut-of-bounds write corrupts heap memory
-
ImpactProcess crash (availability impact)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Buffer copy size validation
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Both --username and --show flags must be passed simultaneously to hashcat for the vulnerable code path in outfile_write() to execute. The attacker must supply or influence the hash file consumed by hashcat - either by delivering a crafted file directly or by positioning it where an analyst will process it. The CVSS UI:P metric confirms that the operator must actively invoke hashcat against the malicious file; there is no passive or background trigger. Exploitation is strictly local (AV:L): hashcat exposes no network interface, and remote exploitation is not possible. Default hashcat usage without --username, and crack-mode runs without --show, are unaffected. No privilege level is required to run hashcat itself, but the attacker's primary dependency is operator action against attacker-controlled input. |
| Impact | The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N, score 6.9) accurately characterises this as a medium-severity local issue: attack vector is local, user interaction is required, and primary impact is availability (crash/memory corruption) with negligible confidentiality impact. The PR:N metric reflects that no authentication to a service is required, but this must not be misread as remotely exploitable - AV:L firmly bounds exploitation to the local system where hashcat is invoked. There is no CISA KEV listing and no identified public proof-of-concept, both of which substantially reduce real-world urgency. Because hashcat is an operator-invoked command-line tool rather than an always-on service, the attack surface is inherently narrow: exploitation requires an analyst to actively process a crafted file with specific flags. The risk is most relevant to red-team or forensic teams that routinely run hashcat --username --show against externally sourced hash dumps, where the origin of the file may not be fully trusted. |
| Exploit ScenarioDerived | An attacker crafts a hash file containing a username field sized to nearly fill the 16 MB HCBUFSIZ_LARGE buffer. When a security analyst runs hashcat --username --show against this file as part of a routine password-audit workflow, outfile_write() copies the oversized username into the heap buffer and then appends the separator, hash, and plaintext without checking remaining space, overflowing the buffer, corrupting adjacent heap metadata, and crashing the process. No public proof-of-concept has been identified at time of analysis, but the trigger condition is straightforward to reproduce from the description and commit diff alone. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 22, 2026
Heap buffer overflow in hashcat through version 7.1.2 allows an attacker who controls a hash file to crash the process and corrupt heap memory when an operator runs hashcat with the --username --show flags. The outfile_write() function in src/outfile.c sequentially appends username, separator, hash, and plaintext into a fixed ~16 MB heap buffer (HCBUFSIZ_LARGE) via memcpy without tracking accumulated length against buffer capacity, enabling an out-of-bounds write. No active exploitation has been confirmed (not in CISA KEV), and a vendor patch has been released via upstream commit.
RemediationAI
Update to a hashcat build incorporating upstream commit 68f56a2d8712867a8520bf4dcf07f6145c23df89, which is available at https://github.com/hashcat/hashcat/commit/68f56a2d8712867a8520bf4dcf07f6145c23df89. A specific tagged release version containing this fix has not been independently confirmed from available data - verify that your installed binary was built from this commit or a later one by checking the repository tag history. As an immediate compensating control, avoid invoking hashcat with both --username and --show simultaneously against hash files sourced from untrusted parties; omitting either flag prevents the vulnerable outfile_write() code path from being reached. This control has no impact on normal cracking workflows that do not use --show for output review.
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
hashcat (CPE: cpe:2.3:a:hashcat:hashcat:*:*:*:*:*:*:*:*) is a widely-used GPU-accelerated password recovery tool. The vulnerable function outfile_write() resides in src/outfile.c at lines 654-668 (v7.1.2). CWE-120 (Buffer Copy without Checking Size of Input) applies directly: the function allocates a single fixed-size heap buffer of HCBUFSIZ_LARGE (~16 MB) and uses bare memcpy calls to sequentially append each output field - username, separator, hash representation, and plaintext - without validating that the running total fits within the buffer. The upstream fix (commit 68f56a2d) replaces all these unchecked writes with five bounded helper functions (outfile_append_raw, outfile_append_hex, outfile_append_hexify, outfile_append_chr, outfile_append_fmt) that each compute remaining room before writing and truncate oversized fields rather than overflowing, ensuring the buffer invariant is maintained throughout the assembly loop.
Know when Hashcat 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:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Local tool invoked by operator against crafted input (AV:L, UI:R, PR:N); heap overflow causes crash (A:H) with minimal integrity side-effect (I:L); no confidentiality impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
hashcat contains a heap-based buffer overflow (out-of-bounds write) in the outfile_write() function in src/outfile.c. When assembling output into a fixed-size buffer (HCBUFSIZ_LARGE, ~16 MB), the function sequentially appends the username, separator, hash, and plaintext via memcpy without validating that the accumulated length stays within the buffer capacity. When run with --username --show against a crafted hash file containing an oversized username that nearly fills the buffer, the total assembled output exceeds the buffer, causing a heap buffer overflow that can corrupt memory and crash the process.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Heap-based buffer overflow in hashcat 7.1.2 enables remote code execution or denial of service through maliciously craft
Heap-based buffer overflow in hashcat 7.1.2's Kerberos hash parser enables remote code execution without authentication.
Stack-based buffer overflow in hashcat 7.1.2's rule processing functions enables remote code execution when processing p
Option injection in hashcat's restore file parser (all versions through 7.1.2) allows an attacker who delivers a crafted
Out-of-bounds heap write in hashcat's fgetl() function affects all versions through 7.1.2, triggered by supplying any in
Heap buffer overflow in hashcat's KeePass AESKDF/KDBX v4 cracking module (module_34301.c) exposes master branch builds a
EUVD-2026-64313
GHSA-cm34-rh84-36rf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB