Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted PICT file to victim
-
DeliveryUser opens or imports file in Scribus
-
ExploitDecoder trusts manipulated planar dimensions
-
ExecutionHeap over-read in handlePixmap pixel loop
-
ImpactApplication 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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
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).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
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
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.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Heap buffer overflow in Scribus before 1.6.7, in both the Mac PICT image data loader and the pct import plugin, lets a c
Integer overflow in Scribus' TIFF tile loader (scimgdataloader_tiff) before 1.6.7 lets a crafted tiled TIFF corrupt heap
A heap buffer overflow in Scribus 1.6.x before 1.6.7 lets a crafted PICT/PCT file corrupt process memory when it is open
Out-of-bounds heap reads and writes in Scribus's SVM import plugin (importsvm) before 1.6.7 can crash the application or
Heap-based out-of-bounds write in Scribus's Micrografx Draw (.DRW) import plugin (importdrw) before 1.6.7 allows local a
Heap out-of-bounds write in Scribus before 1.6.7 can be triggered when a user opens, imports, or places a crafted Photos
EUVD-2026-114099
GHSA-8hqx-3wqc-785g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB