CVE-2024-57823
NoneCVSS
—
EPSS
0.3%
Published
Jan 10, 2025
CISA due date
—
Cloudanix analysis
A bug in a library that reads certain data files can let attackers crash programs or run their own code when the files come from outside sources.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer underflow in raptor_uri_normalize_path() during turtle parser URI normalization leads to memory corruption.
Why it matters to the business
Applications processing untrusted RDF or turtle data may crash or allow code execution, disrupting data pipelines and services that rely on the library.
How an attack unfolds
An attacker supplies a specially crafted URI inside turtle input to the parser; the underflow occurs during path normalization, corrupting memory and potentially allowing control-flow hijacking.
How to fix it
Update affected packages to the listed fixed versions such as linux 3.13.0-100.147, 4.4.0-45.66, 4.4.0-1002.2, 4.8.0-36.36~16.04.1 and equivalent updates for linux-aws, linux-gke, linux-hwe, linux-raspi2, linux-snapdragon, and linux-lts-vivid on Ubuntu 14.04 LTS and 16.04 LTS.
How to confirm the fix worked
Verify installed package versions against the provided fixed kernel and library builds; re-test URI normalization paths with known-good and boundary URIs.
Typical attack path
- Deliver malicious turtle or RDF content containing a malformed URI to a vulnerable application.
- Trigger raptor_uri_normalize_path() via the turtle parser.
- Exploit the resulting integer underflow to corrupt adjacent memory.
- Achieve code execution or denial of service.
How to detect it
Review application logs for crashes or abnormal exits in processes linked to the raptor library when processing turtle input; inspect for unexpected memory faults or segfaults around URI handling.
What your security team should do
- Prioritize patching Ubuntu systems listed in affected products within standard change windows.
- Disable or sandbox RDF/turtle parsing of untrusted input until patches are applied.
- Monitor for memory-corruption crashes in processes using the raptor library.
The record
In Raptor RDF Syntax Library through 2.0.16, there is an integer underflow when normalizing a URI with the turtle parser in raptor_uri_normalize_path().
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | raptor2 | 0 | 2.0.15-17.el8_10 |
| AlmaLinux:8 | raptor2-devel | 0 | 2.0.15-17.el8_10 |
| AlmaLinux:9 | raptor2 | 0 | 2.0.15-32.el9_5 |
| AlmaLinux:9 | raptor2-devel | 0 | 2.0.15-32.el9_5 |
| Debian:11 | raptor2 | 0 | No fix |
| Debian:12 | raptor2 | 0 | No fix |
| Debian:13 | raptor2 | 0 | No fix |
| Debian:13 | raptor2 | 0 | 2.0.16-6 |
| Debian:14 | raptor2 | 0 | 2.0.16-6 |
| Mageia:9 | raptor2 | 0 | 2.0.15-23.1.mga9 |
| Red Hat:enterprise_linux:8::appstream | raptor2 | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::appstream | raptor2-devel | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::crb | raptor2 | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::crb | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::crb | raptor2-debugsource | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:8::crb | raptor2-devel | 0 | 0:2.0.15-17.el8_10 |
| Red Hat:enterprise_linux:9::appstream | raptor2 | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::appstream | raptor2-debuginfo | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::appstream | raptor2-debugsource | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::appstream | raptor2-devel | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::crb | raptor2 | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::crb | raptor2-debuginfo | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::crb | raptor2-debugsource | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:enterprise_linux:9::crb | raptor2-devel | 0 | 0:2.0.15-32.el9_5 |
| Red Hat:rhel_aus:8.2::appstream | raptor2 | 0 | 0:2.0.15-17.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | raptor2 | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_aus:8.6::appstream | raptor2 | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_aus:8.6::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_e4s:8.4::appstream | raptor2 | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_e4s:8.6::appstream | raptor2 | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_e4s:8.6::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_e4s:9.0::appstream | raptor2 | 0 | 0:2.0.15-31.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | raptor2-debuginfo | 0 | 0:2.0.15-31.el9_0 |
| Red Hat:rhel_e4s:9.0::appstream | raptor2-debugsource | 0 | 0:2.0.15-31.el9_0 |
| Red Hat:rhel_els:7 | raptor2 | 0 | 0:2.0.9-5.el7_9 |
| Red Hat:rhel_els:7 | raptor2-debuginfo | 0 | 0:2.0.9-5.el7_9 |
| Red Hat:rhel_els:7 | raptor2-devel | 0 | 0:2.0.9-5.el7_9 |
| Red Hat:rhel_eus:8.8::appstream | raptor2 | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | raptor2-devel | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::crb | raptor2 | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::crb | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::crb | raptor2-debugsource | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:8.8::crb | raptor2-devel | 0 | 0:2.0.15-17.el8_8 |
| Red Hat:rhel_eus:9.2::appstream | raptor2 | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | raptor2-debuginfo | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | raptor2-debugsource | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | raptor2-devel | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::crb | raptor2 | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::crb | raptor2-debuginfo | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::crb | raptor2-debugsource | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.2::crb | raptor2-devel | 0 | 0:2.0.15-31.el9_2 |
| Red Hat:rhel_eus:9.4::appstream | raptor2 | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | raptor2-debuginfo | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | raptor2-debugsource | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | raptor2-devel | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::crb | raptor2 | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::crb | raptor2-debuginfo | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::crb | raptor2-debugsource | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_eus:9.4::crb | raptor2-devel | 0 | 0:2.0.15-31.el9_4 |
| Red Hat:rhel_tus:8.4::appstream | raptor2 | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_4 |
| Red Hat:rhel_tus:8.6::appstream | raptor2 | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | raptor2-debuginfo | 0 | 0:2.0.15-17.el8_6 |
| Red Hat:rhel_tus:8.6::appstream | raptor2-debugsource | 0 | 0:2.0.15-17.el8_6 |
| Rocky Linux:8 | raptor2 | 0 | 0:2.0.15-17.el8_10 |
| Rocky Linux:9 | raptor2 | 0 | 0:2.0.15-32.el9_5 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | raptor | 0 | 2.0.15-150200.9.18.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP7 | raptor | 0 | 2.0.15-150200.9.18.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | raptor | 0 | 2.0.15-5.9.1 |
| Ubuntu:16.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:18.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:20.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:20.04:LTS | raptor2 | 0 | 2.0.15-0ubuntu1.20.04.2 |
| Ubuntu:22.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:22.04:LTS | raptor2 | 0 | 2.0.15-0ubuntu4.1 |
| Ubuntu:24.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:24.04:LTS | raptor2 | 0 | 2.0.16-3ubuntu0.1 |
| Ubuntu:24.10 | raptor2 | 0 | No fix |
| Ubuntu:25.04 | raptor2 | 0 | 2.0.16-4ubuntu1 |
| Ubuntu:25.10 | raptor2 | 0 | 2.0.16-4ubuntu1 |
| Ubuntu:Pro:16.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | raptor2 | 0 | 2.0.14-1ubuntu0.16.04.1+esm1 |
| Ubuntu:Pro:18.04:LTS | raptor2 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | raptor2 | 0 | 2.0.14-1ubuntu0.18.04.1+esm1 |
| openSUSE:Leap 15.6 | raptor | 0 | 2.0.15-150200.9.18.1 |
| openSUSE:Tumbleweed | raptor | 0 | 2.0.16-4.1 |