splunk / splunk/appinspect-cli-action
[upstream package] Relax lxml<6.0.0 constraint in splunk-appinspect to allow lxml>=6.1.0 (CVE-2026-41066 fix)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Note on venue
This issue is about the underlying splunk-appinspect Python package (pinned by this Action), not the Action wrapper itself. The PyPI metadata for splunk-appinspect declares no public source or bug tracker, so I'm filing here because it's the only public Splunk-org GitHub repo touching AppInspect. If there's a better venue, please redirect.
Summary
splunk-appinspect==4.2.0 and the newly-released 4.2.1 (2026-05-21) both declare Requires-Dist: lxml<6.0.0,>=5.3.0. The upper bound prevents downstream projects from picking up lxml==6.1.0, which patches CVE-2026-41066 / GHSA-vfmq-68hx-4jfw (XXE via iterparse() and ETCompatXMLParser() when resolve_entities=True). The 4.2.1 release did not relax this constraint.
Dependabot flags this in any repo that consumes splunk-appinspect through a hashed lockfile (pip-audit, pip-compile, poetry). Downstream maintainers cannot resolve it without either (a) carving out the CVE with an ignore-rule (the path I took — see DECISION_LOG entry), or (b) abandoning splunk-appinspect, which is the only tool that runs Splunkbase certification checks.
Ask
Could the lxml<6.0.0 upper bound be relaxed in the next splunk-appinspect release, ideally to allow lxml>=6.1.0? If lxml 6.x introduces API surface incompatibilities that the constraint exists to guard against, an outline of what splunk-appinspect calls into would help downstream projects understand the upgrade path.
Reachability for our use case
In our repo, lxml is invoked exclusively by splunk-appinspect against our own .spl artifact built from this repo's source tree. The XXE pathway requires untrusted XML input; our trusted-input CI use case is below the CVSS general-population threat model. I've documented this as accepted residual risk in our DECISION_LOG and applied a pip-audit --ignore-vuln carve-out so CI stays green. Filing this so downstream projects with stricter postures (or auditors who don't dig into reachability) aren't blocked.
Versions
splunk-appinspect:4.2.0(and4.2.1, released 2026-05-21 — same constraint)- Constraint:
Requires-Dist: lxml<6.0.0,>=5.3.0 - Fixed lxml version:
6.1.0 - CVE: CVE-2026-41066 (CVSS 7.5 HIGH)
- GHSA: GHSA-vfmq-68hx-4jfw
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue points to PyPI metadata for splunk-appinspect and provides no source file or test in this Action repository. Start by confirming the lxml constraint and package ownership, then review the linked docs/DECISION_LOG.md for downstream context. Done would require an upstream release that permits lxml 6.1.0 or clear compatibility guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devops, security
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100