Boolean XPath expressions that evaluate to true can cause an infinite loop in logicalQuery.Select, leading to 100% CPU usage. This can be triggered by top-level selectors such as "1=1" or "true()".
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2026-4526"
}{
"imports": [
{
"path": "github.com/antchfx/xpath",
"symbols": [
"Expr.Evaluate",
"NodeIterator.MoveNext",
"ancestorQuery.Evaluate",
"ancestorQuery.Select",
"attributeQuery.Evaluate",
"attributeQuery.Select",
"booleanQuery.Evaluate",
"booleanQuery.Select",
"cachedChildQuery.Evaluate",
"cachedChildQuery.Select",
"childQuery.Evaluate",
"childQuery.Select",
"descendantOverDescendantQuery.Evaluate",
"descendantOverDescendantQuery.Select",
"descendantQuery.Evaluate",
"descendantQuery.Select",
"filterQuery.Evaluate",
"filterQuery.Select",
"followingQuery.Evaluate",
"followingQuery.Select",
"functionQuery.Evaluate",
"groupQuery.Evaluate",
"groupQuery.Select",
"lastFuncQuery.Evaluate",
"logicalQuery.Evaluate",
"logicalQuery.Select",
"mergeQuery.Evaluate",
"mergeQuery.Select",
"numericQuery.Evaluate",
"parentQuery.Evaluate",
"parentQuery.Select",
"precedingQuery.Evaluate",
"precedingQuery.Select",
"selfQuery.Evaluate",
"selfQuery.Select",
"transformFunctionQuery.Evaluate",
"transformFunctionQuery.Select",
"unionQuery.Evaluate",
"unionQuery.Select"
]
}
]
}