{"document":{"aggregate_severity":{"namespace":"https://www.suse.com/support/security/rating/","text":"moderate"},"category":"csaf_security_advisory","csaf_version":"2.0","distribution":{"text":"Copyright 2023 SUSE LLC. All rights reserved.","tlp":{"label":"WHITE","url":"https://www.first.org/tlp/"}},"lang":"en","notes":[{"category":"summary","text":"Security update for rubygem-yajl-ruby","title":"Title of the patch"},{"category":"description","text":"\nThis update for rubygem-yajl-ruby fixes the following issue:\n\n-CVE-2022-24795: Fixed a heap-based buffer overflow when handling large inputs due to an integer overflow (bsc#1198405)\n","title":"Description of the patch"},{"category":"details","text":"SUSE-2022-1918,SUSE-OpenStack-Cloud-Crowbar-8-2022-1918,SUSE-OpenStack-Cloud-Crowbar-9-2022-1918","title":"Patchnames"},{"category":"legal_disclaimer","text":"CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).","title":"Terms of use"}],"publisher":{"category":"vendor","contact_details":"https://www.suse.com/support/security/contact/","name":"SUSE Product Security Team","namespace":"https://www.suse.com/"},"references":[{"category":"self","summary":"URL for SUSE-SU-2022:1918-1","url":"https://www.suse.com/support/update/announcement/2022/suse-su-20221918-1/"},{"category":"external","summary":"SUSE ratings","url":"https://www.suse.com/support/security/rating/"},{"category":"self","summary":"URL of this CSAF notice","url":"https://ftp.suse.com/pub/projects/security/csaf/suse-su-2022_1918-1.json"},{"category":"self","summary":"E-Mail link for SUSE-SU-2022:1918-1","url":"https://lists.suse.com/pipermail/sle-security-updates/2022-June/011222.html"},{"category":"self","summary":"SUSE Bug 1198405","url":"https://bugzilla.suse.com/1198405"},{"category":"self","summary":"SUSE CVE CVE-2022-24795 page","url":"https://www.suse.com/security/cve/CVE-2022-24795/"}],"title":"Security update for rubygem-yajl-ruby","tracking":{"current_release_date":"2022-06-02T08:48:36Z","generator":{"date":"2022-06-02T08:48:36Z","engine":{"name":"cve-database.git:bin/generate-csaf.pl","version":"1"}},"id":"SUSE-SU-2022:1918-1","initial_release_date":"2022-06-02T08:48:36Z","revision_history":[{"date":"2022-06-02T08:48:36Z","number":"1","summary":"Current version"}],"status":"final","version":"1"}},"product_tree":{"branches":[{"branches":[{"branches":[{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.aarch64","product":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.aarch64","product_id":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.aarch64"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.aarch64","product":{"name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.aarch64","product_id":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.aarch64"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.aarch64","product":{"name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.aarch64","product_id":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.aarch64"}}],"category":"architecture","name":"aarch64"},{"branches":[{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.i586","product":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.i586","product_id":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.i586"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.i586","product":{"name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.i586","product_id":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.i586"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.i586","product":{"name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.i586","product_id":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.i586"}}],"category":"architecture","name":"i586"},{"branches":[{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.ppc64le","product":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.ppc64le","product_id":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.ppc64le"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.ppc64le","product":{"name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.ppc64le","product_id":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.ppc64le"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.ppc64le","product":{"name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.ppc64le","product_id":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.ppc64le"}}],"category":"architecture","name":"ppc64le"},{"branches":[{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.s390","product":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.s390","product_id":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.s390"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.s390","product":{"name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.s390","product_id":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.s390"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.s390","product":{"name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.s390","product_id":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.s390"}}],"category":"architecture","name":"s390"},{"branches":[{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.s390x","product":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.s390x","product_id":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.s390x"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.s390x","product":{"name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.s390x","product_id":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.s390x"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.s390x","product":{"name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.s390x","product_id":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.s390x"}}],"category":"architecture","name":"s390x"},{"branches":[{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","product":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","product_id":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.x86_64","product":{"name":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.x86_64","product_id":"ruby2.1-rubygem-yajl-ruby-doc-1.3.1-4.6.1.x86_64"}},{"category":"product_version","name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.x86_64","product":{"name":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.x86_64","product_id":"ruby2.1-rubygem-yajl-ruby-testsuite-1.3.1-4.6.1.x86_64"}}],"category":"architecture","name":"x86_64"},{"branches":[{"category":"product_name","name":"SUSE OpenStack Cloud Crowbar 8","product":{"name":"SUSE OpenStack Cloud Crowbar 8","product_id":"SUSE OpenStack Cloud Crowbar 8","product_identification_helper":{"cpe":"cpe:/o:suse:suse-openstack-cloud-crowbar:8"}}},{"category":"product_name","name":"SUSE OpenStack Cloud Crowbar 9","product":{"name":"SUSE OpenStack Cloud Crowbar 9","product_id":"SUSE OpenStack Cloud Crowbar 9","product_identification_helper":{"cpe":"cpe:/o:suse:suse-openstack-cloud-crowbar:9"}}}],"category":"product_family","name":"SUSE Linux Enterprise"}],"category":"vendor","name":"SUSE"}],"relationships":[{"category":"default_component_of","full_product_name":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64 as component of SUSE OpenStack Cloud Crowbar 8","product_id":"SUSE OpenStack Cloud Crowbar 8:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64"},"product_reference":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","relates_to_product_reference":"SUSE OpenStack Cloud Crowbar 8"},{"category":"default_component_of","full_product_name":{"name":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64 as component of SUSE OpenStack Cloud Crowbar 9","product_id":"SUSE OpenStack Cloud Crowbar 9:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64"},"product_reference":"ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","relates_to_product_reference":"SUSE OpenStack Cloud Crowbar 9"}]},"vulnerabilities":[{"cve":"CVE-2022-24795","ids":[{"system_name":"SUSE CVE Page","text":"https://www.suse.com/security/cve/CVE-2022-24795"}],"notes":[{"category":"general","text":"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.","title":"Vulnerability description"}],"product_status":{"fixed":["SUSE OpenStack Cloud Crowbar 8:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","SUSE OpenStack Cloud Crowbar 9:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64"]},"references":[{"category":"external","summary":"CVE-2022-24795","url":"https://www.suse.com/security/cve/CVE-2022-24795"},{"category":"external","summary":"SUSE Bug 1198405 for CVE-2022-24795","url":"https://bugzilla.suse.com/1198405"}],"remediations":[{"category":"vendor_fix","details":"To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n","product_ids":["SUSE OpenStack Cloud Crowbar 8:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","SUSE OpenStack Cloud Crowbar 9:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64"]}],"scores":[{"cvss_v3":{"baseScore":5.9,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"products":["SUSE OpenStack Cloud Crowbar 8:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64","SUSE OpenStack Cloud Crowbar 9:ruby2.1-rubygem-yajl-ruby-1.3.1-4.6.1.x86_64"]}],"threats":[{"category":"impact","date":"2022-06-02T08:48:36Z","details":"moderate"}],"title":"CVE-2022-24795"}]}