CVE-2026-104061
Description
A flaw was found in Scribus. This vulnerability allows arbitrary code execution or a Denial of Service (DoS) due to an out-of-bounds memory write in the Photoshop Document (PSD) image loader. An attacker could exploit this flaw by convincing a user to import or open a specially crafted PSD file, corrupting memory to crash the application or execute code with the permissions of the current user.
Statement
A flaw was found in Scribus's PSD image loader (scimgdataloader_psd). Unchecked PSD file values are used as lookup array indexes, resulting in a heap out-of-bounds write. A user can be convinced to place or import a specially crafted PSD file, causing memory corruption that can crash the application or potentially execute code with the permissions of the user. This is a community-only flaw affecting Fedora and EPEL builds of Scribus (epel-9, fedora-43, fedora-44, fedora-rawhide); resolution is delegated to the community and trackers will be filed for the affected streams.
Mitigation
Do not open or import PSD files from untrusted sources. Update to Scribus 1.6.7 or later (1.7.4 or later for the 1.7.x series), where the PSD channel values used as lookup array indexes are properly clamped (upstream fix commit cca3e499).
--- CME Mitigation Guidance (2026-11-03) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.
The highest-value action is to clamp unchecked PSD channel count values against destination image channels and static components array bounds in scimgdataloader_psd: upgrade to Scribus 1.6.7 (or 1.7.4 for 1.7.x) (or the fixed Scribus builds), which clamp channel_num using qMin against the destination image channel count and the static components array size, closing all 2 injection vectors (crafted PSD file import, crafted PSD image placement). Until patched, this is a concern on Scribus installations opening or placing untrusted PSD files across any platform, so avoid opening, importing, or placing PSD files from untrusted sources in Scribus. As a compensating measure, Address Space Layout Randomization to randomize userspace memory addresses and impede reliable code reuse, Full RELRO and PIE to protect the Global Offset Table and randomize code segments against control-flow hijacking, Control Flow Integrity or Shadow Call Stack to validate indirect call targets against corrupted function pointers or vtables, EDR Agent monitoring to detect anomalous post-exploitation behavior or unexpected child processes spawned by Scribus, and NX/XD non-executable memory enforcement on heap pages to prevent execution of injected shellcode. These controls limit blast radius and contain exploitation, but they do not fix the underlying heap out-of-bounds write defect — apply the upstream patch to fully remediate.
Highest-impact CME: CME-101 ASLR (Address Space Layout Randomization) (medium)
Understanding the Weakness (CWE)
Integrity
Technical Impact: Modify Memory; Execute Unauthorized Code or Commands
Write operations could cause memory corruption. In some cases, an adversary can modify control data such as return addresses in order to execute unexpected code.
Availability
Technical Impact: DoS: Crash, Exit, or Restart
Attempting to access out-of-range, invalid, or unauthorized memory could cause the product to crash.
Other
Technical Impact: Unexpected State
Subsequent write operations can produce undefined or unexpected results.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.