{"id":"UBUNTU-CVE-2022-31116","details":"UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Affected versions were found to improperly decode certain characters. JSON strings that contain escaped surrogate characters not part of a proper surrogate pair were decoded incorrectly. Besides corrupting strings, this allowed for potential key confusion and value overwriting in dictionaries. All users parsing JSON from untrusted sources are vulnerable. From version 5.4.0, UltraJSON decodes lone surrogates in the same way as the standard library's `json` module does, preserving them in the parsed output. Users are advised to upgrade. There are no known workarounds for this issue.","modified":"2026-05-20T16:08:04.292437036Z","published":"2022-07-05T18:15:00Z","related":["USN-6629-1","USN-6629-3"],"upstream":["CVE-2022-31116"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2022-31116"},{"type":"REPORT","url":"https://github.com/ultrajson/ultrajson/security/advisories/GHSA-wpqr-jcpx-745r"},{"type":"REPORT","url":"https://github.com/ultrajson/ultrajson/commit/67ec07183342589d602e0fcf7bb1ff3e19272687"},{"type":"REPORT","url":"https://github.com/ultrajson/ultrajson/commit/67ec07183342589d602e0fcf7bb1ff3e19272687"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-6629-1"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-6629-3"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2022-31116"}],"affected":[{"package":{"name":"pandas","ecosystem":"Ubuntu:14.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=trusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.12.0-2ubuntu1","0.13.1-2ubuntu1","0.13.1-2ubuntu2"],"ecosystem_specific":{"binaries":[{"binary_name":"python-pandas","binary_version":"0.13.1-2ubuntu2"},{"binary_version":"0.13.1-2ubuntu2","binary_name":"python-pandas-lib"},{"binary_name":"python3-pandas","binary_version":"0.13.1-2ubuntu2"},{"binary_version":"0.13.1-2ubuntu2","binary_name":"python3-pandas-lib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"ujson","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/ujson?arch=source&distro=esm-apps%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.33-1ubuntu0.1~esm2"}]}],"versions":["1.33-1","1.33-1build1"],"ecosystem_specific":{"binaries":[{"binary_name":"python-ujson","binary_version":"1.33-1ubuntu0.1~esm2"},{"binary_version":"1.33-1ubuntu0.1~esm2","binary_name":"python3-ujson"}],"availability":"Available with Ubuntu Pro: https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"collada2gltf","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/collada2gltf?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["20140924-3"],"ecosystem_specific":{"binaries":[{"binary_name":"libcollada2gltfconvert-dev","binary_version":"20140924-3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.15.0-2","0.15.0-2ubuntu1","0.15.0-2ubuntu2","0.17.1-3ubuntu2"],"ecosystem_specific":{"binaries":[{"binary_version":"0.17.1-3ubuntu2","binary_name":"python-pandas"},{"binary_name":"python-pandas-lib","binary_version":"0.17.1-3ubuntu2"},{"binary_version":"0.17.1-3ubuntu2","binary_name":"python3-pandas"},{"binary_version":"0.17.1-3ubuntu2","binary_name":"python3-pandas-lib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"collada2gltf","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/collada2gltf?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["20140924-4"],"ecosystem_specific":{"binaries":[{"binary_name":"libcollada2gltfconvert-dev","binary_version":"20140924-4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.2-5.1ubuntu4","0.22.0-2ubuntu1","0.22.0-3","0.22.0-4","0.22.0-4ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"python-pandas","binary_version":"0.22.0-4ubuntu1"},{"binary_version":"0.22.0-4ubuntu1","binary_name":"python-pandas-lib"},{"binary_version":"0.22.0-4ubuntu1","binary_name":"python3-pandas"},{"binary_version":"0.22.0-4ubuntu1","binary_name":"python3-pandas-lib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"ujson","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/ujson?arch=source&distro=esm-apps%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.35-2ubuntu0.1~esm1"}]}],"versions":["1.35-1build2","1.35-2"],"ecosystem_specific":{"binaries":[{"binary_name":"python-ujson","binary_version":"1.35-2ubuntu0.1~esm1"},{"binary_name":"python3-ujson","binary_version":"1.35-2ubuntu0.1~esm1"}],"availability":"Available with Ubuntu Pro: https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.23.3+dfsg-4ubuntu1","0.23.3+dfsg-4ubuntu5","0.23.3+dfsg-4ubuntu6","0.25.3+dfsg-4","0.25.3+dfsg-4build1","0.25.3+dfsg-7"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pandas","binary_version":"0.25.3+dfsg-7"},{"binary_name":"python3-pandas-lib","binary_version":"0.25.3+dfsg-7"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"collada2gltf","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/collada2gltf?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["20140924-7build1","20140924-8"],"ecosystem_specific":{"binaries":[{"binary_name":"libcollada2gltfconvert-dev","binary_version":"20140924-8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.5+dfsg-2","1.1.5+dfsg-2ubuntu1","1.3.5+dfsg-2","1.3.5+dfsg-2ubuntu1","1.3.5+dfsg-3"],"ecosystem_specific":{"binaries":[{"binary_version":"1.3.5+dfsg-3","binary_name":"python3-pandas"},{"binary_version":"1.3.5+dfsg-3","binary_name":"python3-pandas-lib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"ujson","ecosystem":"Ubuntu:Pro:22.04:LTS","purl":"pkg:deb/ubuntu/ujson?arch=source&distro=esm-apps%2Fjammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.1.0-1ubuntu0.1~esm1"}]}],"versions":["4.0.2-1","4.0.2-1build1","4.2.0-1","5.1.0-1","5.1.0-1build1"],"ecosystem_specific":{"availability":"Available with Ubuntu Pro: https://ubuntu.com/pro","binaries":[{"binary_version":"5.1.0-1ubuntu0.1~esm1","binary_name":"python3-ujson"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.3+dfsg-6","1.5.3+dfsg-6ubuntu1","1.5.3+dfsg-7ubuntu1","1.5.3+dfsg-10","2.1.4+dfsg-4ubuntu2","2.1.4+dfsg-7"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pandas","binary_version":"2.1.4+dfsg-7"},{"binary_name":"python3-pandas-lib","binary_version":"2.1.4+dfsg-7"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.2.3+dfsg-8build1","2.2.3+dfsg-9"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pandas","binary_version":"2.2.3+dfsg-9"},{"binary_version":"2.2.3+dfsg-9","binary_name":"python3-pandas-lib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}},{"package":{"name":"pandas","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/pandas?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.2.3+dfsg-9","2.3.3+dfsg-1ubuntu1","2.3.3+dfsg-3","2.3.3+dfsg-3ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pandas","binary_version":"2.3.3+dfsg-3ubuntu1"},{"binary_version":"2.3.3+dfsg-3ubuntu1","binary_name":"python3-pandas-lib"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2022/UBUNTU-CVE-2022-31116.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"type":"Ubuntu","score":"medium"}]}