Skip to main content

Scribus EUVDEUVD-2026-114102

| CVE-2026-104066 HIGH
Out-of-bounds Write (CWE-787)
2026-10-30 VulnCheck GHSA-j534-3694-g2r9
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted PICT file to user
  2. Delivery
    User places or imports file in Scribus
  3. Exploit
    Loader unpacks 4-bit indexed pixels
  4. Execution
    Inconsistent width triggers heap out-of-bounds write
  5. Impact
    Crash or arbitrary code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a victim running Scribus before 1.6.7 to place or import a crafted Mac PICT (.pict/.pct) image file; the trigger is specifically the PICT image loader and the 'pct' import plugin unpacking 4-bit indexed pixel data when the file declares a width inconsistent with the actual row data, causing an out-of-bounds heap write. Limiting factors: exploitation is local (AV:L) and gated on user interaction (UI:P) - the user must actively open/place/import the malicious file; there is no network-facing or unattended vector, no elevated privileges are required (PR:N), and only versions prior to 1.6.7 are affected (the vendor commit adds bounds-checked copy lengths).

Impact

Signals point to a genuine but non-urgent code-execution risk rather than a mass-exploitation emergency. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H, 8.5) describes a local, user-interaction-dependent file-parsing flaw with high confidentiality/integrity/availability impact and no scope change - high severity driven by impact, not by remote reachability. There is no EPSS score, no CISA KEV listing, and no PoC or exploit reference in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The vuln.today decision label is 'this_week', consistent with a patched, high-impact but interaction-gated bug rather than 'act_now'/'emergency'. The heap write out-of-bounds (CWE-787) is confirmed by the vendor commit diff, which replaces unchecked memcpy/pixel-unpack loops with bounded copy lengths - so the memory-corruption mechanism is well supported by evidence. Net: treat as a real patch-this-cycle priority for environments that open untrusted PICT files in Scribus, but the local AV and required user interaction make widespread automated exploitation unlikely.

Exploit ScenarioDerived

An attacker emails or hosts a malicious .pict file and convinces a Scribus user (version before 1.6.7) to place or import it into a document. The crafted file declares an inconsistent width versus actual row data for 4-bit indexed pixels, so the PICT loader writes past the allocated scanline buffer, producing a crash or potentially attacker-influenced code execution. No public exploit code is referenced in the available data; exploitation depends on the victim opening the file (UI:P/UI:R).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – Oct 30, 2026

Heap buffer overflow in Scribus before 1.6.7, in both the Mac PICT image data loader and the pct import plugin, lets a crafted .pict/.pct file whose declared width is inconsistent with its actual row data write past the end of a heap buffer when the image is placed or imported, crashing Scribus or potentially achieving code execution. The attack is local and gated on user interaction: the victim must actively open, place, or import the malicious image (no privileges required, no network-facing or unattended vector), and no public exploit has been identified at time of analysis. Version 1.6.7 addresses the flaw by bounding copy lengths and nibble-expansion loops against the real scanline and source buffer sizes.

RemediationAI

Upgrade Scribus to 1.6.7 or later, which contains the bounds-checking fix for both affected code paths; the upstream patch is commit d667b3b1d38e1808721315dc976d67b72070f6b4 (vendor-released patch: 1.6.7), referenced from https://wiki.scribus.net/canvas/1.6.7_Release and https://www.vulncheck.com/advisories/scribus-before-1.6.7-heap-buffer-overflow-via-pict-4-bit-pixel-unpacking. Until the upgrade is applied, the practical control is to avoid opening, placing, or importing untrusted .pict/.pct files in Scribus, since exploitation requires the user to load the crafted image and there is no network-facing path; because the same defect exists in both the core loader and the pct import plugin, disabling the import plugin alone does not fully close the exposure. Given the local vector, the user-interaction requirement, and the absence of public exploit code, scheduling the upgrade within the coming week is appropriate.

Affected VersionsENISA

Scribus 0 <1.6.7

Affected Packages

euvd scribus fix: 1.6.7

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

The vulnerable code lives in scribus/imagedataloaders/scimgdataloader_pict.cpp and scribus/plugins/import/pct/importpct.cpp, where PICT opcodes are unpacked into a Qt QImage. When handling pixmaps, the loader trusted the file-declared bytes-per-row value and pixCols, then called memcpy(image.scanLine(rr), img.data(), bytesPerLine) without verifying that bytesPerLine fit the destination scanline (image.bytesPerLine()) or the source buffer (img.size()). In the 4-bit indexed path each source byte was expanded into two destination bytes via a pointer that was never checked against the scanline end, so a file declaring a width larger than its actual row data produced an out-of-bounds heap write; the planar path similarly iterated pixCols without accounting for the component plane count (3 or 4), reading past the source data. This is CWE-787 (out-of-bounds write), reachable through both the core image data loader and the pct import plugin. The fix commit d667b3b1d38e1808721315dc976d67b72070f6b4 clamps copies with copyLen = min(bytesPerLine, img.size(), scanBytes), bounds the nibble expansion loop with outPos + 1 < scanBytes, introduces maxPix = min(pixCols, scanBytes/4) for 32-bit images, and limits the planar loop to srcLimit = img.size() - (planes - 1) * pixCols. The CPE cpe:2.3:a:scribus:scribus:*:*:*:*:*:*:*:* maps every Scribus release prior to 1.6.7 to the affected range.

Know when Scribus 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 (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

Exploitation needs the user to open a crafted local PICT file, so AV:L and UI:R with PR:N; the heap overflow can yield code execution giving high C/I/A, scope unchanged.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the Mac PICT image loader and import plugin when unpacking 4-bit indexed pixel data. Attackers can supply a crafted PICT file with inconsistent width and row data that, when placed or imported, writes out of bounds, causing crashes or code execution.

Executive ViewAI

Why It Matters

Scribus versions before 1.6.7 contain a heap buffer overflow vulnerability in the Mac PICT image loader and pct import plugin. Successful exploitation requires a user to open a malicious .pict or .pct file, potentially leading to code execution on the affected system. This poses a risk to design teams using Scribus for desktop publishing, as an attacker could craft a file that compromises a user's workstation.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source desktop publishing app, limited enterprise footprint
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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

Priority Score

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

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.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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