Skip to main content
← All vulnerabilities
CVE-2026-94109

openEQUELLA < 2026.1.0 Authenticated Stored SSTI via FreemarkerPortletRenderer

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2026.1.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • openequella openEQUELLA

    fixed in 2026.1.0

References 5

blog.evan.lat

GitHub · openequella/openEQUELLA

vulncheck.com