Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

CVE-2022-24795

Publication date 5 April 2022

Last updated 13 August 2024


Ubuntu priority

Cvss 3 Severity Score

7.5 · High

Score breakdown

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.

Read the notes from the security team

Status

Package Ubuntu Release Status
argyll 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
burp 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
centreon-broker 16.04 LTS xenial Ignored
14.04 LTS trusty Ignored
collada2gltf 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
icinga2 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
libbson 18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
lnav 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
php-mongodb 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
r-cran-jsonlite 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
ruby-yajl 24.04 LTS noble
Needs evaluation
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
20.04 LTS focal
Needs evaluation
18.04 LTS bionic
Needs evaluation
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
tulip 24.04 LTS noble Not in release
23.10 mantic Ignored
23.04 lunar Ignored
22.10 kinetic Ignored
22.04 LTS jammy
Needs evaluation
21.10 impish Ignored
16.04 LTS xenial
Needs evaluation
14.04 LTS trusty Ignored
yajl 24.04 LTS noble
Not affected
23.10 mantic
Not affected
23.04 lunar
Fixed 2.1.0-3ubuntu0.23.04.1
22.10 kinetic Ignored
22.04 LTS jammy
Fixed 2.1.0-3ubuntu0.22.04.1
21.10 impish Ignored
20.04 LTS focal
Fixed 2.1.0-3ubuntu0.20.04.1
18.04 LTS bionic
16.04 LTS xenial
14.04 LTS trusty

Get expanded security coverage with Ubuntu Pro

Reduce your average CVE exposure time from 98 days to 1 day with expanded CVE patching, ten-years security maintenance and optional support for the full stack of open-source applications. Free for personal use.

Get Ubuntu Pro

Notes


mdeslaur

CVE is assigned to yajl-ruby. There is an unofficial patch for yajl which will abort() too, though that is likely hardening and isn't part of this CVE.


ccdm94

no upstream patch available as of 2023-06-07 for yajl. There is an open pull request for the unofficial patch, however, the fix proposed by the patch is being further discussed on the comments of this pull request. The unofficial patch is being rejected by some, and new patches have been proposed. More information at https://github.com/lloyd/yajl/pull/240.

Patch details

For informational purposes only. We recommend not to cherry-pick updates. How can I get the fixes?

Package Patch details
ruby-yajl
yajl

Severity score breakdown

Parameter Value
Base score 7.5 · High
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Scope Unchanged
Confidentiality None
Integrity impact None
Availability impact High
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

Related Ubuntu Security Notices (USN)

Other references