An infinite loop when reaching EOL unexpectedly in compose/parser.c (aka the keymap parser) in xkbcommon before 0.8.1 could be used by local attackers to cause a denial of service during parsing of crafted keymap files.
{
"unresolved_ranges": [
{
"extracted_events": [
{
"last_affected": "14.04"
}
],
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*"
},
{
"extracted_events": [
{
"last_affected": "16.04"
}
],
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*"
},
{
"extracted_events": [
{
"last_affected": "18.04"
}
],
"source": "CPE_FIELD",
"cpe": "cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*"
}
]
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "0.8.1"
}
],
"source": [
"CPE_FIELD",
"REFERENCES"
],
"cpe": "cpe:2.3:a:xkbcommon:xkbcommon:*:*:*:*:*:*:*:*"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2018-15856.json"
[
{
"signature_type": "Function",
"signature_version": "v1",
"id": "CVE-2018-15856-4feb5e44",
"digest": {
"length": 2866.0,
"function_hash": "111084396536791922603128660627799779023"
},
"source": "https://github.com/xkbcommon/libxkbcommon/commit/842e4351c2c97de6051cab6ce36b4a81e709a0e1",
"target": {
"file": "src/compose/parser.c",
"function": "lex"
},
"deprecated": false
},
{
"signature_type": "Line",
"signature_version": "v1",
"id": "CVE-2018-15856-72580473",
"digest": {
"line_hashes": [
"339976281554706251715786465784200783707",
"286489673923724958058425891237163149150",
"213471127827195187591013137219067204299",
"314939995327740885430641703664042403296"
],
"threshold": 0.9
},
"source": "https://github.com/xkbcommon/libxkbcommon/commit/842e4351c2c97de6051cab6ce36b4a81e709a0e1",
"target": {
"file": "src/compose/parser.c"
},
"deprecated": false
}
]
"2026-04-11T18:44:04Z"