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)

Open
#164 0 comments 0 reactions 0 assignees View on GitHub

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 (and 4.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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.