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.
Created libxkbcommon tracking bugs for this issue:
Affects: fedora-all [bug 1642852]
When parsing a boolean expression that is composed by another boolean expression, like a negated expression, the ExprResolveBoolean() function is recursively called, but on the same expression that was currently analyzed and not on the sub-expression, causing an infinite recursion.
This issue has been addressed in the following products:
Red Hat Enterprise Linux 7
Via RHSA-2019:2079 https://access.redhat.com/errata/RHSA-2019:2079
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):