Every CVE Search/ Get API key

CVE-2017-16516

yajl-ruby gem Denial of Service vulnerability

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

3.77%Up 2.7 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 7.5

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.

Record
CVE-2017-16516
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:N/I:N/A:P
Weakness
CWE-134
Updated
2026-11-02
CVE List No score

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.

Record
CVE-2017-16516
Updated
2026-11-02
EUVDEUVD-2017-0355 No score

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.

Record
EUVD-2017-0355
Updated
2026-11-03
GitHub AdvisoriesGHSA-wwh7-4jw9-33x6 7.5

yajl-ruby gem Denial of Service vulnerability

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.

Record
GHSA-wwh7-4jw9-33x6
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-134
Updated
2026-11-02
OSV 7.5

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.

Record
CVE-2017-16516
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2017-16516 7.5

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.

Record
DEBIAN-CVE-2017-16516
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 6 moreShow less
OSVGHSA-wwh7-4jw9-33x6 7.5

yajl-ruby gem Denial of Service vulnerability

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.

Record
GHSA-wwh7-4jw9-33x6
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-134
Updated
2026-11-02
OSVOESA-2025-1156 7.5

yajl security update

yajl is a small event-driven JSON parser written in ANSI C, and a small validating JSON generator.

Security Fix(es):

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.(CVE-2017-16516)

Record
OESA-2025-1156
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2017-16516 7.5

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.

Record
UBUNTU-CVE-2017-16516
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVMGASA-2024-0066 No score

Updated yajl packages fix security vulnerabilities

The updated packages fix security vulnerabilities: 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. (CVE-2017-16516) There's a memory leak in yajl 2.1.0 with use of yajl_tree_parse function. which will cause out-of-memory in server and cause crash. (CVE-2023-33460)

Record
MGASA-2024-0066
Updated
2026-11-02
OSVUSN-6233-1 No score

yajl vulnerabilities

It was discovered that YAJL was not properly performing bounds checks when decoding a string with escape sequences. If a user or automated system using YAJL were tricked into processing specially crafted input, an attacker could possibly use this issue to cause a denial of service (application abort). (CVE-2017-16516)

It was discovered that YAJL was not properly handling memory allocation when dealing with large inputs, which could lead to heap memory corruption. If a user or automated system using YAJL were tricked into running a specially crafted large input, an attacker could possibly use this issue to cause a denial of service. (CVE-2022-24795)

It was discovered that memory leaks existed in one of the YAJL parsing functions. An attacker could possibly use this issue to cause a denial of service (memory exhaustion). (CVE-2023-33460)

Record
USN-6233-1
Updated
2026-11-02
OSVUSN-6233-2 No score

yajl vulnerabilities

USN-6233-1 fixed vulnerabilities in YAJL. This update provides the corresponding updates for Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, and Ubuntu 23.04.

Original advisory details:

It was discovered that YAJL was not properly performing bounds checks when decoding a string with escape sequences. If a user or automated system using YAJL were tricked into processing specially crafted input, an attacker could possibly use this issue to cause a denial of service (application abort). (CVE-2017-16516)

It was discovered that YAJL was not properly handling memory allocation when dealing with large inputs, which could lead to heap memory corruption. If a user or automated system using YAJL were tricked into running a specially crafted large input, an attacker could possibly use this issue to cause a denial of service. (CVE-2022-24795)

It was discovered that memory leaks existed in one of the YAJL parsing functions. An attacker could possibly use this issue to cause a denial of service (memory exhaustion). (CVE-2023-33460)

Record
USN-6233-2
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
yajl-ruby
RubyGems
before 1.3.1
1.3.1
burp
Debian:12
All versions, plus listed versions
3.1.4-13.1.4-33.1.4-3.13.1.4-43.1.4-5
None known
burp
Debian:13
before 3.1.4-2
3.1.4-2
r-cran-jsonlite
Debian:12
All versions, plus listed versions
1.8.4+dfsg-11.8.5+dfsg-11.8.7+dfsg-11.8.8+dfsg-11.8.9+dfsg-11.9.1+dfsg-12.0.0+dfsg-12.0.0+dfsg-2
None known
r-cran-jsonlite
Debian:13
before 1.8.8+dfsg-1
1.8.8+dfsg-1
r-cran-jsonlite
Debian:14
before 1.8.8+dfsg-1
1.8.8+dfsg-1
ruby-yajl
Debian:12
before 1.2.0-3.1
1.2.0-3.1
ruby-yajl
Debian:13
before 1.2.0-3.1
1.2.0-3.1
ruby-yajl
Debian:14
before 1.2.0-3.1
1.2.0-3.1
yajl
Debian:12
before 2.1.0-3+deb12u2, plus listed versions
2.1.0-32.1.0-3+deb12u1
2.1.0-3+deb12u2
Show 23 moreShow less
Affected packages
PackageAffectedFixed
yajl
Debian:13
before 2.1.0-4
2.1.0-4
yajl
Debian:14
before 2.1.0-4
2.1.0-4
ruby-yajl
Debian:7
before 1.1.0-2+deb7u1, plus listed versions
1.1.0-2
1.1.0-2+deb7u1
yajl
Debian:10
From an advisory covering 3 CVEs
before 2.1.0-3+deb10u2, plus listed versions
2.1.0-32.1.0-3+deb10u1
2.1.0-3+deb10u2
burp
Debian:10
From an advisory covering 2 CVEs
before 2.1.32-2+deb10u1, plus listed versions
2.1.32-2
2.1.32-2+deb10u1
yajl-ruby
RubyGems
before 1.3.1, plus listed versions
0.5.100.5.110.5.120.5.50.5.6
Show 34 moreShow less
0.5.70.5.80.5.90.6.00.6.10.6.20.6.30.6.40.6.50.6.60.6.70.6.80.6.90.7.00.7.10.7.20.7.30.7.40.7.50.7.60.7.70.7.80.7.90.8.00.8.10.8.20.8.31.0.01.1.01.2.01.2.11.2.21.2.31.3.0
1.3.1
yajl
Mageia:9
From an advisory covering 2 CVEs
before 2.1.0-6.1.mga9
2.1.0-6.1.mga9
yajl
openEuler:24.03-LTS
before 2.1.0-21.oe2403sp1
2.1.0-21.oe2403sp1
yajl
openEuler:24.03-LTS-SP1
before 2.1.0-21.oe2403sp1
2.1.0-21.oe2403sp1
yajl
openEuler:20.03-LTS-SP4
before 2.1.0-19.oe2003sp4
2.1.0-19.oe2003sp4
yajl
openEuler:22.03-LTS-SP3
before 2.1.0-21.oe2203sp3
2.1.0-21.oe2203sp3
yajl
openEuler:22.03-LTS-SP4
before 2.1.0-21.oe2203sp4
2.1.0-21.oe2203sp4
yajl
Ubuntu:Pro:14.04:LTS
before 2.0.4-4ubuntu0.1~esm1, plus listed versions
2.0.4-4
2.0.4-4ubuntu0.1~esm1
yajl
Ubuntu:Pro:16.04:LTS
before 2.1.0-2ubuntu0.16.04.1~esm1, plus listed versions
2.1.0-2
2.1.0-2ubuntu0.16.04.1~esm1
ruby-yajl
Ubuntu:16.04:LTS
All versions, plus listed versions
1.2.0-3build11.2.0-3build21.2.0-3build31.2.0-3build4
None known
yajl
Ubuntu:Pro:18.04:LTS
before 2.1.0-2ubuntu0.18.04.1~esm1, plus listed versions
2.1.0-22.1.0-2build1
2.1.0-2ubuntu0.18.04.1~esm1
yajl
Ubuntu:20.04:LTS
before 2.1.0-3ubuntu0.20.04.1, plus listed versions
2.1.0-3
2.1.0-3ubuntu0.20.04.1
yajl
Ubuntu:22.04:LTS
before 2.1.0-3ubuntu0.22.04.1, plus listed versions
2.1.0-32.1.0-3build12.1.0-3build2
2.1.0-3ubuntu0.22.04.1
yajl
Ubuntu:Pro:14.04:LTS
From an advisory covering 3 CVEs
before 2.0.4-4ubuntu0.1~esm1, plus listed versions
2.0.4-4
2.0.4-4ubuntu0.1~esm1
yajl
Ubuntu:Pro:16.04:LTS
From an advisory covering 3 CVEs
before 2.1.0-2ubuntu0.16.04.1~esm1, plus listed versions
2.1.0-2
2.1.0-2ubuntu0.16.04.1~esm1
yajl
Ubuntu:Pro:18.04:LTS
From an advisory covering 3 CVEs
before 2.1.0-2ubuntu0.18.04.1~esm1, plus listed versions
2.1.0-22.1.0-2build1
2.1.0-2ubuntu0.18.04.1~esm1
yajl
Ubuntu:20.04:LTS
From an advisory covering 3 CVEs
before 2.1.0-3ubuntu0.20.04.1, plus listed versions
2.1.0-3
2.1.0-3ubuntu0.20.04.1
yajl
Ubuntu:22.04:LTS
From an advisory covering 3 CVEs
before 2.1.0-3ubuntu0.22.04.1, plus listed versions
2.1.0-32.1.0-3build12.1.0-3build2
2.1.0-3ubuntu0.22.04.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2017-16516 is a high vulnerability (CVSS 7.5) in Yajl-ruby Project Yajl-ruby, published November 3, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.77%, the 89th percentile. Fixed in yajl-ruby 1.3.1.

References

Show 18 moreShow less
MoveEnter Open