CVE-2017-16516
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.
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
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 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
yajl-rubyRubyGems |
before 1.3.1 | 1.3.1 |
burpDebian: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 |
burpDebian:13 |
before 3.1.4-2 | 3.1.4-2 |
r-cran-jsonliteDebian: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-jsonliteDebian:13 |
before 1.8.8+dfsg-1 | 1.8.8+dfsg-1 |
r-cran-jsonliteDebian:14 |
before 1.8.8+dfsg-1 | 1.8.8+dfsg-1 |
ruby-yajlDebian:12 |
before 1.2.0-3.1 | 1.2.0-3.1 |
ruby-yajlDebian:13 |
before 1.2.0-3.1 | 1.2.0-3.1 |
ruby-yajlDebian:14 |
before 1.2.0-3.1 | 1.2.0-3.1 |
yajlDebian: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
| Package | Affected | Fixed |
|---|---|---|
yajlDebian:13 |
before 2.1.0-4 | 2.1.0-4 |
yajlDebian:14 |
before 2.1.0-4 | 2.1.0-4 |
ruby-yajlDebian:7 |
before 1.1.0-2+deb7u1, plus listed versions 1.1.0-2 |
1.1.0-2+deb7u1 |
yajlDebian: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 |
burpDebian: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-rubyRubyGems |
before 1.3.1, plus listed versions 0.5.100.5.110.5.120.5.50.5.6 Show 34 moreShow less0.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 |
yajlMageia:9 From an advisory covering 2 CVEs |
before 2.1.0-6.1.mga9 | 2.1.0-6.1.mga9 |
yajlopenEuler:24.03-LTS |
before 2.1.0-21.oe2403sp1 | 2.1.0-21.oe2403sp1 |
yajlopenEuler:24.03-LTS-SP1 |
before 2.1.0-21.oe2403sp1 | 2.1.0-21.oe2403sp1 |
yajlopenEuler:20.03-LTS-SP4 |
before 2.1.0-19.oe2003sp4 | 2.1.0-19.oe2003sp4 |
yajlopenEuler:22.03-LTS-SP3 |
before 2.1.0-21.oe2203sp3 | 2.1.0-21.oe2203sp3 |
yajlopenEuler:22.03-LTS-SP4 |
before 2.1.0-21.oe2203sp4 | 2.1.0-21.oe2203sp4 |
yajlUbuntu:Pro:14.04:LTS |
before 2.0.4-4ubuntu0.1~esm1, plus listed versions 2.0.4-4 |
2.0.4-4ubuntu0.1~esm1 |
yajlUbuntu: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-yajlUbuntu:16.04:LTS |
All versions, plus listed versions 1.2.0-3build11.2.0-3build21.2.0-3build31.2.0-3build4 |
None known |
yajlUbuntu: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 |
yajlUbuntu: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 |
yajlUbuntu: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 |
yajlUbuntu: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 |
yajlUbuntu: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 |
yajlUbuntu: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 |
yajlUbuntu: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 |
yajlUbuntu: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
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE 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
rubygems.org/gems/yajl-ruby
github.com/brianmario/yajl-ruby/issues/176
lists.debian.org/debian-lts-announce/2017/11/msg00010.html
lists.debian.org/debian-lts-announce/2023/07/msg00013.html
lists.debian.org/debian-lts-announce/2023/08/msg00003.html
nvd.nist.gov/vuln/detail/CVE-2017-16516
Show 18 moreShow less
github.com/github/advisory-database/pull/2158
github.com/brianmario/yajl-ruby/commit/a8ca8f476655adaa187eedc60bdc770fff3c51ce
github.com/brianmario/yajl-ruby/pull/178
github.com/rubysec/ruby-advisory-db/blob/master/gems/yajl-ruby/CVE-2017-16516.yml
github.com/advisories/GHSA-wwh7-4jw9-33x6
security-tracker.debian.org/tracker/CVE-2017-16516
github.com/brianmario/yajl-ruby
advisories.mageia.org/MGASA-2024-0066.html
bugs.mageia.org/show_bug.cgi?id=32072
debian.org/lts/security/2023/dla-3478
debian.org/lts/security/2023/dla-3492
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-1156
ubuntu.com/security/CVE-2017-16516
ubuntu.com/security/notices/USN-6233-1
ubuntu.com/security/notices/USN-6233-2
cve.org/CVERecord?id=CVE-2017-16516
ubuntu.com/security/CVE-2022-24795
ubuntu.com/security/CVE-2023-33460