CRITICAL 9.1 Maven

com.xwiki.confluencepro:application-confluence-migrator-pro-ui Remote Code Execution via unescaped translations

GHSA-6qvp-39mm-95v8 · CVE-2025-27603

Published · Modified

AI SAST

Find this class of vulnerability in your own code

Corgea's AI-native static analysis detects vulnerabilities like this one across your repositories, ranks them by exploitability, and returns review-ready fixes.

Description

Impact

A user that doesn't have programming rights can execute arbitrary code when creating a page using the Migration Page template.
A possible attack vector is the following:

  • Create a page and add the following content:
confluencepro.job.question.advanced.input={{/html}} {{async async="true" cached="false" context="doc.reference"}}{{groovy}}println("hello from groovy!"){{/groovy}}{{/async}}
  • Use the object editor to add an object of type XWiki.TranslationDocumentClass with scope USER.
  • Access an unexisting page using the MigrationTemplate
http://localhost:8080/xwiki/bin/edit/Page123?template=ConfluenceMigratorPro.Code.MigrationTemplate

It is expected that {{/html}} {{async async="true" cached="false" context="doc.reference"}}{{groovy}}println("hello from groovy!"){{/groovy}}{{/async}} will be present on the page, however, hello from groovy will be printed.

Patches

The issue will be fixed as part of v1.2. The fix was added with commit 35cef22

Workarounds

There are no known workarounds besides upgrading.

References

No references.

Ready to move

Start Securing

Free, no credit card | First findings in minutes