Investigate in your agent.

Turn this advisory into a focused investigation. Ask your agent to check your project’s versions, explain the evidence, and suggest a compatible fix.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

Skip to content
Check your stack
CVE-2026-94109high8.6

openEQUELLA < 2026.1.0 Authenticated Stored SSTI via FreemarkerPortletRenderer

Impact

openEQUELLA before version 2026.1.0 has an authenticated stored server-side template injection vulnerability, allowing non-guest users to inject malicious FreeMarker payloads. The vulnerability occurs in FreemarkerPortletRenderer.renderHtml() and may execute in the application server process context.

Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.

What to do

Deployments that can't upgrade immediately should firewall or VPN the /invoker/* endpoints and restrict them to only those who genuinely need access.

VulnCheck guidance

Affected packages

This source has no supported package-version data for matching. You can read the advisory here, but this record alone cannot power a dependency check.

Affected products

Vendor version evidence. Product records are separate from automatic dependency matching.

openequella · VulnCheck

openEQUELLA

2 ranges

Package identity

pkg:github/openequella/openEQUELLA

Identity supplied by VulnCheck. Version matching requires compatible range evidence.

Compare with this publisher’s ranges. This does not inspect your installation.

affected

0 → before 2026.1.0

semver versions

unaffected

2026.1.0

semver versions

unknown

Other versions: unaffected

Original source description

openEQUELLA before 2026.1.0 contains an authenticated stored server-side template injection vulnerability in FreemarkerPortletRenderer.renderHtml() that allows any authenticated non-guest user to achieve remote code execution by storing a malicious FreeMarker payload through a POST request to the RemotePortletService invoker endpoint. The markup field from stored portlet configuration is passed directly to custFactory.createResult() without a TemplateClassResolver restriction or FreeMarker sandboxing in BasicConfiguration, leaving built-ins such as ?new and freemarker.template.utility.Execute available, causing the payload to execute in the application server process context when any user renders a dashboard containing the affected portlet.

Inside the record

Evidence available

Package identity
Version evidence
Remediation guidance
Weakness classification
Additional publishers

Describes the evidence in this view, not whether the product is safe.

Original records

CVE-2026-94109

View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.

cve.new JSON →

Underlying weaknesses

The source’s classification of what caused the vulnerability.

CWE-1336 ↗

Improper Neutralization of Special Elements Used in a Template Engine

VulnCheck

Related →
Contributing organizations · 2
VulnCheck

Assigning organization

2026-10-29
CISA-ADP

Additional data publisher

2026-09-24

What changed

Follow changes
No substantive changes have been recorded here yet. History starts when cve.new observes a change after tracking is enabled; earlier edits are not reconstructed.

Large field values are marked as truncated previews. Original source snapshots remain retained.

References

5 sources