CVE-2017-18926
High · 7.1CVSS
7.1
EPSS
3.1%
Published
Nov 6, 2020
CISA due date
—
Cloudanix analysis
A flaw in a common data library can let attackers crash programs or take over systems by feeding them specially crafted data files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Miscalculation of maximum namespace declarations in raptor_xml_writer_start_element_common triggers a heap-based buffer overflow during XML serialization, potentially allowing out-of-bounds writes that corrupt adjacent heap structures.
Why it matters to the business
Applications or services parsing untrusted RDF or XML data can crash or allow arbitrary code execution, leading to service outages, data exposure, or full system compromise in environments relying on the library for data processing pipelines.
How an attack unfolds
An attacker supplies a specially crafted RDF document containing excessive namespace declarations that triggers the overflow when the library formats qnames as XML; successful exploitation overwrites heap metadata to achieve code execution without requiring authentication.
How to fix it
Upgrade the Raptor RDF Syntax Library to a version containing the corrected namespace calculation logic; where upgrades are unavailable, isolate affected services, apply strict input validation on RDF sources, or replace the library with a maintained alternative.
How to confirm the fix worked
Rebuild affected packages with the corrected source, run regression tests using the library's test suite on malformed namespace inputs, and verify that buffer size calculations now correctly bound namespace declarations before writing XML output.
Typical attack path
- Identify a target application or service that uses the Raptor library to parse RDF/XML input
- Craft a malicious RDF document with an excessive number of namespace declarations
- Deliver the document via network request, file upload, or data import feature
- Trigger the vulnerable code path during XML writer initialization
- Exploit the resulting heap corruption to execute attacker-controlled code
How to detect it
Monitor application logs for segmentation faults or heap corruption errors during RDF/XML processing; inspect process memory dumps or crash reports for patterns consistent with oversized namespace arrays in raptor_qname_format_as_xml calls.
What your security team should do
- Inventory all systems and containers depending on librdf/raptor and prioritize patching or replacement
- Implement network or application-layer filtering to block suspicious RDF payloads until remediation is complete
- Enable heap integrity checks and ASLR in build configurations for remaining legacy deployments
The record
raptor_xml_writer_start_element_common in raptor_xml_writer.c in Raptor RDF Syntax Library 2.0.15 miscalculates the maximum nspace declarations for the XML writer, leading to heap-based buffer overflows (sometimes seen in raptor_qname_format_as_xml).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | raptor2 | 0 | 2.0.15-16.el8 |
| AlmaLinux:8 | raptor2-devel | 0 | 2.0.15-16.el8 |
| Debian:10 | raptor2 | 0 | 2.0.14-1.1~deb10u1 |
| Debian:11 | raptor2 | 0 | 2.0.14-1.1 |
| Debian:12 | raptor2 | 0 | 2.0.14-1.1 |
| Debian:13 | raptor2 | 0 | 2.0.14-1.1 |
| Debian:9 | raptor2 | 0 | 2.0.14-1+deb9u1 |
| Red Hat:enterprise_linux:8::appstream | raptor2 | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::appstream | raptor2-debuginfo | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::appstream | raptor2-debugsource | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::appstream | raptor2-devel | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::crb | raptor2 | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::crb | raptor2-debuginfo | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::crb | raptor2-debugsource | 0 | 0:2.0.15-16.el8 |
| Red Hat:enterprise_linux:8::crb | raptor2-devel | 0 | 0:2.0.15-16.el8 |
| Rocky Linux:8 | raptor2 | 0 | 0:2.0.15-16.el8 |
| SUSE:Enterprise Storage 5 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:HPE Helion OpenStack 8 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | raptor | 0 | 2.0.15-3.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP2 | raptor | 0 | 2.0.15-9.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server 12 SP3-LTSS | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:OpenStack Cloud 7 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:OpenStack Cloud 8 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:OpenStack Cloud 9 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:OpenStack Cloud Crowbar 8 | raptor | 0 | 2.0.15-5.3.1 |
| SUSE:OpenStack Cloud Crowbar 9 | raptor | 0 | 2.0.15-5.3.1 |
| Ubuntu:16.04:LTS | raptor | 0 | No fix |
| Ubuntu:16.04:LTS | raptor2 | 0 | 2.0.14-1ubuntu0.16.04.1 |
| Ubuntu:18.04:LTS | raptor2 | 0 | 2.0.14-1ubuntu0.18.04.1 |
| Ubuntu:20.04:LTS | raptor2 | 0 | 2.0.15-0ubuntu1.20.04.1 |
| Ubuntu:22.04:LTS | raptor2 | 0 | 2.0.15-0ubuntu2 |
| Ubuntu:Pro:16.04:LTS | raptor | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | raptor | 0 | 1.4.21-11ubuntu0.1~esm1 |
| openSUSE:Leap 15.1 | raptor | 0 | 2.0.15-lp151.3.3.1 |
| openSUSE:Leap 15.2 | raptor | 0 | 2.0.15-lp152.4.3.1 |
Related vulnerabilities
- CVE-2024-57823 In Raptor RDF Syntax Library through 2.0.16, there is an integer underflow when… Also affects raptor2
- CVE-2024-57822 In Raptor RDF Syntax Library through 2.0.16, there is a heap-based buffer over-read when… Also affects raptor2
- CVE-2026-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787
- CVE-2026-112397 Pillow is a Python imaging library. CWE-787
- CVE-2026-112059 libLAS through 1.8.1 contains a heap out-of-bounds write vulnerability in the point… CWE-787
- CVE-2026-89088 A flaw was found in parted. CWE-787
- CVE-2026-89085 A flaw was found in parted. CWE-787
- CVE-2026-85746 MariaDB server is a community developed fork of MySQL server. CWE-787