Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Snakeyaml 1.26 #20366

Closed
ManjunathMS35 opened this issue Mar 2, 2020 · 4 comments
Closed

Upgrade to Snakeyaml 1.26 #20366

ManjunathMS35 opened this issue Mar 2, 2020 · 4 comments
Labels
status: declined A suggestion or change that we don't feel we should currently apply

Comments

@ManjunathMS35
Copy link

This is required in both 2.1.x and 2.2.x

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Mar 2, 2020
@wilkinsona
Copy link
Member

Thanks for the suggestion, but we do not upgrade to new minor versions of a dependency in maintenance releases of Spring Boot. We'll pick up SnakeYAML 1.26 in Spring Boot 2.3 in due course as part of our semi-automated dependency upgrade process.

@wilkinsona wilkinsona added status: declined A suggestion or change that we don't feel we should currently apply and removed status: waiting-for-triage An issue we've not yet triaged labels Mar 2, 2020
@dberrueta-atlassian
Copy link

Hi @wilkinsona . SnakeYaml 1.25 (the version currently included in Spring Boot 2.2.x) is affected by DoS vulnerability, see https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-18640

I'm not familiar enough with Spring Boot to know if this library is used to parse untrusted input, so I'm not sure if Spring Boot 2.2.x is affected by this vulnerability.

The fix was included in SnakeYaml 1.26 according to the release notes: https://bitbucket.org/asomov/snakeyaml/wiki/Changes In case Spring Boot 2.2.x is indeed affected by this problem, what would be the correct process to have it fixed without having to wait for Spring Boot 2.3? (#20467).

Thank you

@bclozel
Copy link
Member

bclozel commented Mar 13, 2020

Hi @dberrueta-atlassian ,

Spring Boot uses SnakeYaml to parse the application configuration - so by default, no untrusted input is fed to the parser.

If applications chose to use the SnakeYaml library to parse untrusted sources, they can always override the version provided by the Spring Boot dependency management as shown in our reference documentation.

In this case, the version property is snakeyaml.version so Maven users can override it like this:

<properties>
    <snakeyaml.version>1.26<snakeyaml.version>
</properties>

Gradle users like this:

ext['snakeyaml.version'] = '1.26'

@dberrueta-atlassian
Copy link

Thank you for your answer, @bclozel . It's great to hear that Spring Boot only uses SnakeYaml with trusted inputs. That is exactly the information I needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: declined A suggestion or change that we don't feel we should currently apply
Projects
None yet
Development

No branches or pull requests

5 participants