Register for the AI for Security Summit: Join Figma, Perplexity & Wiz

CVE-2026-2644
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-2644 is a heap buffer overflow (out-of-bounds read) vulnerability in niklasso MiniSat, a minimalistic SAT solver, affecting all versions up to and including 2.2.0. The flaw resides in the Solver::value function within core/SolverTypes.h, triggered when the DIMACS file parser processes a variable index of 2147483648 (2³¹, one greater than INT_MAX). The vulnerability was reported via a GitHub issue on January 20, 2026, and publicly disclosed on February 18, 2026, with the upstream project not yet responding to the report. It carries a CVSS v3.1 base score of 7.8 (High) for local exploitation scenarios, though CVSS v4.0 rates it 1.9 (Low) given its limited real-world impact (Red Hat Bugzilla, GitHub Issue).

Technical details

The root cause is an integer overflow (CWE-190) combined with an out-of-bounds read (CWE-125) in the DIMACS file parser. When MiniSat parses a clause containing the variable index 2147483648, this value exceeds INT_MAX (2³¹−1) and wraps around to -2147483648 when stored as a signed 32-bit integer. When Solver::value(Lit p) subsequently calls assigns[var(p)], the negative index causes a heap buffer underflow — accessing memory 1 byte before the allocated assigns array. The ASAN-confirmed call chain is: parse_DIMACSreadClauseaddClause_Solver::valuelbool::operator^ at core/SolverTypes.h:105. Exploitation requires only a crafted DIMACS input file and local execution of the minisat binary (GitHub Issue).

Impact

Successful exploitation causes a denial of service via application crash (abort) when minisat processes a malformed DIMACS file. The primary impact is availability loss; the ASAN report confirms a READ violation rather than an exploitable write primitive, making arbitrary code execution unlikely under normal conditions. Confidentiality and integrity impacts are assessed as low in practice, as the crash terminates the process before meaningful data exfiltration or modification can occur (GitHub Issue, Red Hat Bugzilla).

Exploitability

A public proof-of-concept exploit is available in the GitHub issue report, including a crafted DIMACS file and ASAN output demonstrating the crash. The EPSS score is 0.013% (very low), and there is no evidence of in-the-wild exploitation or inclusion in the CISA KEV catalog. No threat actor attribution has been reported. The vulnerability requires local access with low privileges, significantly limiting its attack surface (GitHub Issue, Feedly).

Exploitation steps

  1. Prepare the malicious DIMACS file: Create a file (e.g., poc.cnf) containing a clause with the oversized variable index 2147483648, such as:
p cnf 5 5
3 -1 0
1 0
-3 0
2147483648 3 -1 0
-1 0
  1. Build or obtain a vulnerable minisat binary: Compile minisat version ≤ 2.2.0 from the upstream repository, optionally with ASan enabled to observe the crash clearly.
  2. Execute minisat with the crafted file: Run ./minisat poc.cnf /dev/null locally as any low-privileged user.
  3. Trigger the integer overflow: The parser reads 2147483648, which overflows the signed 32-bit int variable index to -2147483648, and passes it to Solver::value.
  4. Observe the crash: assigns[-2147483648] performs a heap buffer underflow, causing an immediate abort (SIGABRT) or ASan-reported heap-buffer-overflow, resulting in denial of service (GitHub Issue).

Indicators of compromise

  • Process: Unexpected termination (SIGABRT or SIGSEGV) of the minisat process; core dump files generated in the working directory.
  • Logs: Application crash logs or ASan output containing heap-buffer-overflow in Minisat::lbool::operator^ at core/SolverTypes.h:105; system logs showing abnormal minisat process exits.
  • File System: Presence of crafted DIMACS files containing the value 2147483648 as a variable index in clause lines; unexpected .cnf files in temporary or user-writable directories.
  • Process: Child processes of minisat unexpectedly absent (process killed before completion) when processing user-supplied input files (GitHub Issue).

Mitigation and workarounds

No official patch has been released by the upstream niklasso/minisat project as of the disclosure date, and the maintainer has not responded to the issue report. Red Hat has tracked the issue in its bug system (Bug 2440545) with low severity. Recommended mitigations include: (1) restricting local user access to the minisat binary; (2) validating and sanitizing DIMACS file inputs before processing, rejecting variable indices exceeding INT_MAX; (3) running minisat in a sandboxed or containerized environment to limit crash impact; and (4) monitoring for unexpected minisat process terminations. Users should watch the upstream repository for a future patch (Red Hat Bugzilla, minisat GitHub).

Community reactions

Red Hat tracked the vulnerability at low severity in its Bugzilla system, reflecting the limited real-world risk due to the local-only attack vector. The upstream minisat project has not responded to the GitHub issue report as of disclosure. No significant media coverage or notable researcher commentary beyond the initial bug report has been identified (Red Hat Bugzilla, GitHub Issue).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

minisat2

Affected

sid

minisat2

Affected

trixie

minisat2

Affected

Ubuntu

Unknown

bionic (esm-apps)

minisat2

Unknown

devel

minisat2

Unknown

focal (esm-apps)

minisat2

Unknown

jammy

minisat2

Unknown

jammy (esm-apps)

minisat2

Unknown

noble

minisat2

Unknown

noble (esm-apps)

minisat2

Unknown

resolute

minisat2

Unknown

SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-91782LOW1.9
  • NixOS logoNixOS
  • binutils
NoYesSep 15, 2026
CVE-2026-91781LOW1.9
  • NixOS logoNixOS
  • binutils
NoYesSep 15, 2026
CVE-2026-91780LOW1.9
  • NixOS logoNixOS
  • binutils
NoNoSep 15, 2026
CVE-2026-91779LOW1.9
  • NixOS logoNixOS
  • binutils
NoNoSep 15, 2026
CVE-2026-90831LOW1.9
  • NixOS logoNixOS
  • seal-binutils
NoYesSep 14, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management