RUSTSEC-2024-0448 `parse_arguments` reads a caller-supplied pointer as a slice

Not scored Published

A Rust library function unsafely converts a caller-supplied pointer to a slice, allowing null dereference or out-of-bounds reads that can cause crashes or memory corruption.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Not stated
Victim action needed
Not needed
Fix
Available

What is RUSTSEC-2024-0448?

RUSTSEC-2024-0448 is a memory corruption vulnerability in rutie, published on 25 Nov 2024.

Official description

parse_arguments is safe. It takes arguments: *const AnyObject and argc, and calls slice::from_raw_parts(arguments, argc as usize).

It does not check that arguments is non-null and aligned, or that argc elements are initialized. Safe Rust can pass a null pointer or a length past the allocation. The maintainer confirmed this on 2026-10-03, including a debug abort on Rust 1.78+ when Ruby calls an arity -1 method (to_s via format, puts, or Array#join) with a NULL argv and argc of 0.

Which versions are affected by RUSTSEC-2024-0448?

1 open source package ship an affected version, including rutie.

PackageAffectedFixed in
rutie crates.ioFrom 0.0.0-00.10.3, 0.11.3, 0.12.1, 0.13.1, 0.14.1

How do I fix RUSTSEC-2024-0448?

Upgrade rutie to a fixed version for your release line: 0.10.3, 0.11.3, 0.12.1 or 0.13.1.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is RUSTSEC-2024-0448 being exploited?

There is no known exploitation of RUSTSEC-2024-0448 in the wild and no public exploit code.

Sources

Is RUSTSEC-2024-0448 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free