Debian DLA-3492-1 : yajl - LTS security update

high Nessus Plugin ID 178173

Synopsis

The remote Debian host is missing one or more security-related updates.

Description

The remote Debian 10 host has packages installed that are affected by multiple vulnerabilities as referenced in the dla-3492 advisory.

- 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)

- yajl-ruby is a C binding to the YAJL JSON parsing and generation library. The 1.x branch and the 2.x branch of `yajl` contain an integer overflow which leads to subsequent heap memory corruption when dealing with large (~2GB) inputs. The reallocation logic at `yajl_buf.c#L64` may result in the `need` 32bit integer wrapping to 0 when `need` approaches a value of 0x80000000 (i.e. ~2GB of data), which results in a reallocation of buf->alloc into a small heap chunk. These integers are declared as `size_t` in the 2.x branch of `yajl`, which practically prevents the issue from triggering on 64bit platforms, however this does not preclude this issue triggering on 32bit builds on which `size_t` is a 32bit integer. Subsequent population of this under-allocated heap chunk is based on the original buffer size, leading to heap memory corruption. This vulnerability mostly impacts process availability. Maintainers believe exploitation for arbitrary code execution is unlikely. A patch is available and anticipated to be part of yajl-ruby version 1.4.2. As a workaround, avoid passing large inputs to YAJL. (CVE-2022-24795)

- 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)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Upgrade the yajl packages.

For Debian 10 buster, these problems have been fixed in version 2.1.0-3+deb10u2.

See Also

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040036

https://security-tracker.debian.org/tracker/source-package/yajl

https://www.debian.org/lts/security/2023/dla-3492

https://security-tracker.debian.org/tracker/CVE-2017-16516

https://security-tracker.debian.org/tracker/CVE-2022-24795

https://security-tracker.debian.org/tracker/CVE-2023-33460

https://packages.debian.org/source/buster/yajl

Plugin Details

Severity: High

ID: 178173

File Name: debian_DLA-3492.nasl

Version: 1.0

Type: local

Agent: unix

Published: 7/11/2023

Updated: 7/11/2023

Supported Sensors: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 4.4

CVSS v2

Risk Factor: Medium

Base Score: 5

Temporal Score: 3.9

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N

CVSS Score Source: CVE-2022-24795

CVSS v3

Risk Factor: High

Base Score: 7.5

Temporal Score: 6.7

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Temporal Vector: CVSS:3.0/E:P/RL:O/RC:C

Vulnerability Information

CPE: p-cpe:/a:debian:debian_linux:libyajl-dev, p-cpe:/a:debian:debian_linux:libyajl-doc, p-cpe:/a:debian:debian_linux:libyajl2, p-cpe:/a:debian:debian_linux:libyajl2-dbg, p-cpe:/a:debian:debian_linux:yajl-tools, cpe:/o:debian:debian_linux:10.0

Required KB Items: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 7/11/2023

Vulnerability Publication Date: 11/3/2017

Reference Information

CVE: CVE-2017-16516, CVE-2022-24795, CVE-2023-33460