CVE-2017-16516 yajl-ruby gem Denial of Service vulnerability

High 7.5 Published Updated

A crafted JSON file causes the yajl-ruby library to crash the Ruby process, leading to a denial of service.

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

What is CVE-2017-16516?

CVE-2017-16516 is a high-severity denial of service vulnerability in Debian Debian Linux, published on 3 Nov 2017. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

In the yajl-ruby gem 1.3.0 for Ruby, when a crafted JSON file is supplied to Yajl::Parser.new.parse, the whole ruby process crashes with a SIGABRT in the yajl_string_decode function in yajl_encode.c. This results in the whole ruby process terminating and potentially a denial of service.

Weakness: CWE-134

Which versions are affected by CVE-2017-16516?

2 open source packages ship an affected version, including yajl-ruby. It affects 2 products.

PackageAffectedFixed in
yajl-ruby RubyGemsAll versions1.3.1
yajl-ruby RubyGemsAll versions1.3.1

Products include Debian Debian Linux, Yajl-Ruby Project Yajl-Ruby.

How do I fix CVE-2017-16516?

Upgrade yajl-ruby to 1.3.1 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2017-16516 being exploited?

There is no known exploitation of CVE-2017-16516 in the wild and no public exploit code.

All Debian Debian Linux vulnerabilities

Sources

Also known as DEBIAN-CVE-2017-16516, DLA-1167-1, GHSA-wwh7-4jw9-33x6, OESA-2025-1156, UBUNTU-CVE-2017-16516.

Is CVE-2017-16516 in your software?

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

Check your SBOMs for free