Endless recursion exists in xkbcomp/expr.c in xkbcommon and libxkbcommon before 0.8.1, which could be used by local attackers to crash xkbcommon users by supplying a crafted keymap file that triggers boolean negation.
{
"unresolved_ranges": [
{
"extracted_events": [
{
"fixed": "0.8.1"
}
],
"cpes": [
"cpe:2.3:a:xkbcommon:xkbcommon:*:*:*:*:*:*:*:*"
],
"vendor_product": "xkbcommon:xkbcommon",
"source": "CPE_RANGE"
},
{
"extracted_events": [
{
"last_affected": "14.04"
},
{
"last_affected": "16.04"
},
{
"last_affected": "18.04"
}
],
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*"
],
"vendor_product": "canonical:ubuntu_linux",
"source": "CPE_STRING"
}
]
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "0.8.1"
}
],
"cpe": "cpe:2.3:a:xkbcommon:libxkbcommon:*:*:*:*:*:*:*:*",
"source": [
"CPE_RANGE",
"REFERENCES"
]
}[
{
"digest": {
"line_hashes": [
"38329813360607004553092467826760994406",
"182458909361269598744252420272304667328",
"265924496730946848593345593789483999581",
"112869328122952996430498009101837060069"
],
"threshold": 0.9
},
"id": "CVE-2018-15853-4ce843d1",
"signature_version": "v1",
"target": {
"file": "src/xkbcomp/expr.c"
},
"deprecated": false,
"signature_type": "Line",
"source": "https://github.com/xkbcommon/libxkbcommon/commit/1f9d1248c07cda8aaff762429c0dce146de8632a"
},
{
"digest": {
"function_hash": "209006827910055964214525848213169957960",
"length": 1539.0
},
"id": "CVE-2018-15853-e0dd6fde",
"signature_version": "v1",
"target": {
"file": "src/xkbcomp/expr.c",
"function": "ExprResolveBoolean"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://github.com/xkbcommon/libxkbcommon/commit/1f9d1248c07cda8aaff762429c0dce146de8632a"
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2018-15853.json"
"2026-06-11T08:15:05Z"