Skip to main content

Scribus CVE-2026-104063

| EUVDEUVD-2026-114099 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-30 VulnCheck GHSA-8hqx-3wqc-785g
6.9
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 victim
  2. Delivery
    User opens or imports file in Scribus
  3. Exploit
    Decoder trusts manipulated planar dimensions
  4. Execution
    Heap over-read in handlePixmap pixel loop
  5. Impact
    Application crash or heap memory disclosure

Vulnerability Assessment

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

1 technique across 1 tactic: Collection

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

Exploitation Conditions

The victim must open, place, or import a specially crafted PICT/PCT image whose header declares manipulated dimensions, which is then processed by the Mac PICT loader (ScImgDataLoader_PICT::handlePixmap) or the PCT import plugin (PctPlug::handlePixmap) while decoding planar pixel data - the code paths the patch guards with min() clamping and an image.isNull() check. Limiting factors that reduce real-world risk: exploitation requires user interaction to open/import the file (UI:P), the vector is local with no network-exposed service, it affects only Scribus versions before 1.6.7, and because it is a read-only out-of-bounds condition the outcome is a crash or bounded heap memory disclosure rather than code execution.

Impact

This is a moderate-priority, patch-in-normal-cycle issue rather than an emergency. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P) and the score of 6.9 both signal that exploitation is local and file-driven, not a remotely reachable network service: an attacker cannot trigger it without getting a victim to open, place, or import a crafted PICT file in Scribus. Impact is asymmetric - VA:H (the OOB read crashes the application) with only VC:L (bounded heap memory disclosure) and VI:N (no integrity impact), consistent with CWE-125 and the diff, which adds bounds clamping (std::min of bytesPerLine/img.size()/scanBytes) to a read/copy path but shows no attacker-controlled write primitive, so remote code execution is not indicated by the available evidence. No EPSS score, no CISA KEV listing, and no public exploit were provided, so there is no signal of active or widespread exploitation; the vuln.today decision label is 'this_month' (not act_now/emergency), matching a vendor-patched memory-disclosure/DoS bug in a desktop application. The SSVC-style signals are therefore internally consistent - medium severity, local attack surface, user interaction required - with no conflicting data, though the absence of EPSS/KEV means likelihood is inferred from attack surface rather than observed telemetry.

Exploit ScenarioDerived

An attacker crafts a malicious PICT (Mac QuickDraw) image with manipulated planar-image dimensions and delivers it to a victim - for example as a shared design asset or email attachment. When the victim opens or imports/places that file in Scribus before 1.6.7, the planar pixel decoder over-reads heap memory, crashing the application or embedding adjacent heap bytes into the decoded image. No public exploit code was identified in the provided data.

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 – Oct 30, 2026

Heap out-of-bounds reads in Scribus before 1.6.7 let a crafted Mac PICT/PCT image trigger a crash or leak bounded amounts of heap memory when the file is opened, placed on a document, or imported. Exploitation requires the victim to open or import a malicious image (CVSS 4.0 UI:P, AV:L), and because the condition is read-only, the realistic outcomes are denial of service and limited information disclosure rather than code execution. No public exploit code has been identified at time of analysis; a vendor fix is available in Scribus 1.6.7 via commit d667b3b1d38e1808721315dc976d67b72070f6b4.

RemediationAI

Upgrade to Scribus 1.6.7 or later, which contains the bounds-checking fix (commit d667b3b1d38e1808721315dc976d67b72070f6b4) in both scimgdataloader_pict.cpp and importpct.cpp; see the 1.6.7 release notes at https://wiki.scribus.net/canvas/1.6.7_Release. If upgrading immediately is not possible, treat PICT/PCT files as untrusted input: block these extensions at mail and web gateways and instruct users not to open, place or import PICT or PCT images received from external sources, since the vulnerable handlePixmap paths are only reached during that user-initiated import. Because the defect is a read-only over-read rather than a write primitive, disabling or avoiding the PICT/PCT import paths removes the attack surface without affecting other image formats, at the cost of losing legitimate legacy Mac QuickDraw artwork support; no other vendor-supplied workaround or configuration toggle is described in the available sources.

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

PICT (and its DOS/Windows counterpart PCT) is an Apple QuickDraw metafile format that Scribus parses in two independent code paths: the core image data loader ScImgDataLoader_PICT::handlePixmap (scribus/imagedataloaders/scimgdataloader_pict.cpp) and the dedicated PCT import plugin PctPlug::handlePixmap (scribus/plugins/import/pct/importpct.cpp). Both functions decode planar pixel data, where pixel components (1, 3 or 4 planes depending on component_count) are stored in separate planes and reassembled into a QImage. The root cause is CWE-125: the pixel-copy loops and memcpy calls trusted the dimensions declared in the PICT header, using bytesPerLine and pixCols without validating them against the actual decoded buffer size (img.size()) or the destination scanline length (image.bytesPerLine()), so a header with manipulated dimensions caused reads past the end of the source buffer. The upstream patch adds an std::min<int> clamp on the copy length against bytesPerLine, img.size() and scanBytes, bounds the nibble-expansion and 32-bit/planar loops with a computed rowPix limit (based on maxPix = scanBytes/4 and srcLimit = img.size() - (planes-1)*pixCols), and adds an image.isNull() guard before processing.

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 6.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

Victim must open a crafted local file, so AV:L and UI:R; the OOB read yields bounded heap disclosure (C:L) and reliable crashes (A:H) with no write/integrity impact (I:N).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/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
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Scribus before 1.6.7 contains an out-of-bounds read vulnerability in the Mac PICT image loader and import plugin when decoding planar pixel data. Attackers can supply a crafted PICT file with manipulated dimensions that, when placed or imported, causes heap over-reads leading to crashes or heap memory disclosure.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
leading open-source desktop-publishing app, common but niche 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 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

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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