CVE Vulnerabilities

CVE-2017-16516

Use of Externally-Controlled Format String

Published: Nov 03, 2017 | Modified: Apr 20, 2025
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 MODERATE
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

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

The product uses a function that accepts a format string as an argument, but the format string originates from an external source.

Affected Software

NameVendorStart VersionEnd Version
Yajl-rubyYajl-ruby_project1.3.0 (including)1.3.0 (including)
Ruby-yajlUbuntuartful*
Ruby-yajlUbuntuesm-apps/xenial*
Ruby-yajlUbuntutrusty*
Ruby-yajlUbuntuupstream*
Ruby-yajlUbuntuxenial*
Ruby-yajlUbuntuzesty*
YajlUbuntuartful*
YajlUbuntubionic*
YajlUbuntucosmic*
YajlUbuntudisco*
YajlUbuntueoan*
YajlUbuntuesm-infra-legacy/trusty*
YajlUbuntuesm-infra/bionic*
YajlUbuntuesm-infra/focal*
YajlUbuntuesm-infra/xenial*
YajlUbuntufocal*
YajlUbuntugroovy*
YajlUbuntuhirsute*
YajlUbuntuimpish*
YajlUbuntujammy*
YajlUbuntukinetic*
YajlUbuntulunar*
YajlUbuntuprecise/esm*
YajlUbuntutrusty*
YajlUbuntutrusty/esm*
YajlUbuntuupstream*
YajlUbuntuxenial*
YajlUbuntuzesty*

Potential Mitigations

References