Skip to main content

Scribus EUVDEUVD-2026-114097

| CVE-2026-104061 HIGH
Out-of-bounds Write (CWE-787)
2026-10-30 VulnCheck GHSA-p49c-gchq-m6cv
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft PSD with out-of-range channel values
  2. Delivery
    Deliver file to Scribus user
  3. Exploit
    User imports/places PSD in Scribus
  4. Execution
    Unchecked value used as array index
  5. Persist
    Heap out-of-bounds write corrupts memory
  6. Impact
    Code execution as the user

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

Exploitation requires the victim to open, import or place a specially crafted Photoshop PSD file in Scribus, which routes through the scimgdataloader_psd PSD image loader; the crafted PSD must carry channel-count/component values that exceed the real channel count so they are used as out-of-range lookup-array indices (per the commit, header.channel_count and the components[5] index are what the fix clamps). Limiting factors that reduce realistic risk: the attack vector is local (AV:L) with no network exposure, it requires user interaction (UI:P) to load the file, it affects only Scribus installations before 1.6.7, and successful code execution runs only with the privileges of the user who opened the file (SC:N/SI:N/SA:N - no scope change).

Impact

The vendor-supplied CVSS 4.0 score of 8.5 (High) is driven by full technical impact (VC:H/VI:H/VA:H) combined with low attack complexity, no attacker privileges (PR:N) and no attack requirements (AT:N). However, the same vector sharply limits real-world risk: AV:L means there is no network-reachable attack surface, and UI:P requires the victim to open, place or import the malicious PSD into Scribus - this is a client-side, file-borne bug, not a remotely exploitable service flaw, so it is not automatable or wormable. Exploitation status is 'no public exploit identified at time of analysis': the input lists no CISA KEV entry, no EPSS probability, and no PoC/exploit reference (only the patch commit, the project repo, release notes and the VulnCheck advisory). The vuln.today decision label is 'this_week' (not act_now/emergency), which aligns with a serious-but-user-interaction-gated memory-corruption bug rather than an actively-exploited priority. Net assessment: a genuine high-severity heap out-of-bounds write with plausible code-execution impact, but the local vector plus required user interaction make it a patch-this-cycle item rather than a drop-everything emergency. Missing signals to note explicitly: EPSS score is absent, so statistical exploitation likelihood cannot be compared; KEV status is not listed (no confirmed active exploitation).

Exploit ScenarioDerived

An attacker crafts a malicious PSD file whose header channel-count/component values are set to out-of-range numbers and distributes it (e.g. as a shared design asset, email attachment or download). When a Scribus user before 1.6.7 imports or places that PSD, the scimgdataloader_psd loader uses the attacker-controlled values as array indices, writing past the bounds of a heap buffer, which can crash the application or potentially execute code with the user's privileges. No public working exploit is identified; impact is bounded by the need for the victim to open the file locally.

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 out-of-bounds write in Scribus before 1.6.7 can be triggered when a user opens, imports, or places a crafted Photoshop PSD file that supplies channel-count values exceeding the real image channels or the loader's five-element component lookup array. This local, user-interaction-dependent flaw can crash Scribus and potentially execute code with the privileges of the user who opened the file; the fixed release is Scribus 1.6.7, and no public exploit was identified at time of analysis.

RemediationAI

Upgrade to Scribus 1.6.7 or later; the vendor-released patch is available and the upstream fix commit is https://github.com/scribusproject/scribus/commit/cca3e4991dd199c103edb4a3bc5351f5cb88d62b. The 1.6.7 release notes at https://wiki.scribus.net/canvas/1.6.7_Release and the VulnCheck advisory at https://www.vulncheck.com/advisories/scribus-before-1.6.7-heap-out-of-bounds-write-via-psd-image-loader document the fix. Until upgrading, avoid opening, importing, or placing PSD files from untrusted sources in Scribus; this interim restriction reduces exposure to the crafted-file trigger but does not remove the memory-corruption flaw and can disrupt legitimate PSD workflows.

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 issue is CWE-787, an out-of-bounds write in the Scribus PSD image loader scimgdataloader_psd.cpp, specifically in loadLayer. The loader reads header.channel_count from a PSD file and uses that value as channel_num and as an index into the static components[5] lookup array; a crafted PSD can declare channel counts beyond the real image channels or beyond the five-element array bounds, producing an out-of-bounds heap write during layer loading. The upstream fix at commit cca3e4991dd199c103edb4a3bc5351f5cb88d62b adds clamping: maxComponents is set to qMin((uint) r_image.channels(), (uint) std::size(components)) and channel_num is set to qMin((uint) header.channel_count, maxComponents), so both the real channel count and the five-component lookup size cap the value. The supplied CVSS 4.0 vector is AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N, indicating a local vector with user interaction, no attacker privileges, and no scope change; any code execution would run with the privileges of the user who opened the file. The trigger is not described beyond loading a crafted PSD file through this loader.

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

File-borne bug needing a locally opened crafted PSD gives AV:L/UI:R with no privileges (PR:N); straightforward index corruption is AC:L, and heap write enabling code execution as the user yields C/I/A:H.

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 out-of-bounds write vulnerability in the scimgdataloader_psd loader that uses unchecked PSD file values as lookup array indexes. Attackers can convince users to place or import a crafted PSD file to corrupt heap memory, causing crashes and potentially code execution as the user.

Executive ViewAI

Why It Matters

A high-severity heap overflow vulnerability in Scribus, an open-source desktop publishing application, could allow a booby-trapped PSD file to crash the program or execute malicious code under the user's account. Organizations with design, marketing, or communications teams using Scribus are at risk, though exploitation requires a user to manually open a crafted file and no public exploit is currently known, limiting the immediate threat.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche open-source desktop publishing tool, limited production footprint
Data Quality
5 sources
Confidence: Medium

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· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

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