Every CVE Search/ Get API key

CVE-2019-10770

Default development error handler in Ratpack is vulnerable to HTML content injection (XSS)

6.1 MediumFix available

All versions of io.ratpack:ratpack-core from 0.9.10 inclusive and before 1.7.6 are vulnerable to Cross-site Scripting (XSS). This affects the development mode error handler when an exception message contains untrusted data. Note the production mode error handler is not vulnerable - so for this to be utilized in production it would require users to not disable development mode.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

0.86%Up 0.4 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 6.1

All versions of io.ratpack:ratpack-core from 0.9.10 inclusive and before 1.7.6 are vulnerable to Cross-site Scripting (XSS). This affects the development mode error handler when an exception message contains untrusted data. Note the production mode error handler is not vulnerable - so for this to be utilized in production it would require users to not disable development mode.

Record
CVE-2019-10770
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CVSS 2.0
4.3 MediumAV:N/AC:M/Au:N/C:N/I:P/A:N
Weakness
CWE-79
Updated
2026-11-02
CVE List No score

All versions of io.ratpack:ratpack-core from 0.9.10 inclusive and before 1.7.6 are vulnerable to Cross-site Scripting (XSS). This affects the development mode error handler when an exception message contains untrusted data. Note the production mode error handler is not vulnerable - so for this to be utilized in production it would require users to not disable development mode.

Record
CVE-2019-10770
Updated
2026-11-02
EUVDEUVD-2020-0274 No score

All versions of io.ratpack:ratpack-core from 0.9.10 inclusive and before 1.7.6 are vulnerable to Cross-site Scripting (XSS). This affects the development mode error handler when an exception message contains untrusted data. Note the production mode error handler is not vulnerable - so for this to be utilized in production it would require users to not disable development mode.

Record
EUVD-2020-0274
Updated
2026-11-03
GitHub AdvisoriesGHSA-r2wf-q3x4-hrv9 6.1

Default development error handler in Ratpack is vulnerable to HTML content injection (XSS)

Versions of Ratpack from 0.9.10 through 1.7.5 are vulnerable to CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (aka. XSS) in the development error handler. An attacker can utilize this to perform XSS when an exception message contains untrusted data.

As a simplistic example:

RatpackServer startedServer = RatpackServer.start(server -> {
    server.handlers(chain -> chain.all(ctx -> {
        // User supplied query parameter
        String message = ctx.getRequest().getQueryParams().get("message");
        // User supplied data appended to the message in an exception
        throw new RuntimeException("An error occurred: " + message);
    }));
});

Impact

  • Cross-Site Scripting

Patches

This vulnerability has been patched in Ratpack version 1.7.6.

Workarounds

If you are unable to update your version of Ratpack, we recommend the following workarounds and mitigations.

  • Ensure that development mode is disabled in production.
  • Don't use real customer data (ie. untrusted user input) in development.

References

For more information

If you have any questions or comments about this advisory:

Record
GHSA-r2wf-q3x4-hrv9
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-r2wf-q3x4-hrv9 6.1

Default development error handler in Ratpack is vulnerable to HTML content injection (XSS)

Versions of Ratpack from 0.9.10 through 1.7.5 are vulnerable to CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (aka. XSS) in the development error handler. An attacker can utilize this to perform XSS when an exception message contains untrusted data.

As a simplistic example:

RatpackServer startedServer = RatpackServer.start(server -> {
    server.handlers(chain -> chain.all(ctx -> {
        // User supplied query parameter
        String message = ctx.getRequest().getQueryParams().get("message");
        // User supplied data appended to the message in an exception
        throw new RuntimeException("An error occurred: " + message);
    }));
});

Impact

  • Cross-Site Scripting

Patches

This vulnerability has been patched in Ratpack version 1.7.6.

Workarounds

If you are unable to update your version of Ratpack, we recommend the following workarounds and mitigations.

  • Ensure that development mode is disabled in production.
  • Don't use real customer data (ie. untrusted user input) in development.

References

For more information

If you have any questions or comments about this advisory:

Record
GHSA-r2wf-q3x4-hrv9
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
io.ratpack:ratpack-core
Maven
before 1.7.6
1.7.6
io.ratpack:ratpack-core
Maven
before 1.7.6, plus listed versions
0.9.00.9.10.9.100.9.110.9.12
Show 45 moreShow less
0.9.130.9.140.9.150.9.160.9.170.9.180.9.190.9.20.9.30.9.40.9.50.9.60.9.70.9.80.9.91.0.01.0.0-rc-11.0.0-rc-21.0.0-rc-31.1.01.1.11.2.01.2.0-RC-11.2.0-rc-21.3.01.3.0-rc-11.3.0-rc-21.3.11.3.21.3.31.4.01.4.0-rc-11.4.0-rc-21.4.0-rc-31.4.11.4.21.4.31.4.41.4.51.4.61.5.01.5.11.5.21.5.31.5.4
1.7.6

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2019-10770 is a medium vulnerability (CVSS 6.1) in Ratpack, published January 27, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.86%, the 58th percentile. Fixed in io.ratpack:ratpack-core 1.7.6.

References

This page doesn't list everything

Left out here: 12 versions. The JSON record has them.

MoveEnter Open