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 yajlstringdecode function in yajl_encode.c. This results in the whole ruby process terminating and potentially a denial of service.
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "libyajl-dev" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "libyajl-dev-dbgsym" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "libyajl-doc" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "libyajl2" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "libyajl2-dbg" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "libyajl2-dbgsym" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "yajl-tools" }, { "binary_version": "2.0.4-4ubuntu0.1~esm1", "binary_name": "yajl-tools-dbgsym" } ] }
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "libyajl-dev" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "libyajl-dev-dbgsym" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "libyajl-doc" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "libyajl2" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "libyajl2-dbg" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "libyajl2-dbgsym" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "yajl-tools" }, { "binary_version": "2.1.0-2ubuntu0.16.04.1~esm1", "binary_name": "yajl-tools-dbgsym" } ] }
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.1.0-2ubuntu0.18.04.1~esm1", "binary_name": "libyajl-dev" }, { "binary_version": "2.1.0-2ubuntu0.18.04.1~esm1", "binary_name": "libyajl-doc" }, { "binary_version": "2.1.0-2ubuntu0.18.04.1~esm1", "binary_name": "libyajl2" }, { "binary_version": "2.1.0-2ubuntu0.18.04.1~esm1", "binary_name": "libyajl2-dbg" }, { "binary_version": "2.1.0-2ubuntu0.18.04.1~esm1", "binary_name": "yajl-tools" }, { "binary_version": "2.1.0-2ubuntu0.18.04.1~esm1", "binary_name": "yajl-tools-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.1.0-3ubuntu0.20.04.1", "binary_name": "libyajl-dev" }, { "binary_version": "2.1.0-3ubuntu0.20.04.1", "binary_name": "libyajl-doc" }, { "binary_version": "2.1.0-3ubuntu0.20.04.1", "binary_name": "libyajl2" }, { "binary_version": "2.1.0-3ubuntu0.20.04.1", "binary_name": "libyajl2-dbgsym" }, { "binary_version": "2.1.0-3ubuntu0.20.04.1", "binary_name": "yajl-tools" }, { "binary_version": "2.1.0-3ubuntu0.20.04.1", "binary_name": "yajl-tools-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.1.0-3ubuntu0.22.04.1", "binary_name": "libyajl-dev" }, { "binary_version": "2.1.0-3ubuntu0.22.04.1", "binary_name": "libyajl-doc" }, { "binary_version": "2.1.0-3ubuntu0.22.04.1", "binary_name": "libyajl2" }, { "binary_version": "2.1.0-3ubuntu0.22.04.1", "binary_name": "libyajl2-dbgsym" }, { "binary_version": "2.1.0-3ubuntu0.22.04.1", "binary_name": "yajl-tools" }, { "binary_version": "2.1.0-3ubuntu0.22.04.1", "binary_name": "yajl-tools-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "low", "binaries": [ { "binary_version": "2.1.0-5", "binary_name": "libyajl-dev" }, { "binary_version": "2.1.0-5", "binary_name": "libyajl-doc" }, { "binary_version": "2.1.0-5", "binary_name": "libyajl2" }, { "binary_version": "2.1.0-5", "binary_name": "libyajl2-dbgsym" }, { "binary_version": "2.1.0-5", "binary_name": "yajl-tools" }, { "binary_version": "2.1.0-5", "binary_name": "yajl-tools-dbgsym" } ] }