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

fix(deps): update dependency org.springframework:spring-webmvc to v5.3.18 [security] - autoclosed #267

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 24, 2022

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.springframework:spring-webmvc 5.3.15 -> 5.3.18 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2022-22965

Spring Framework prior to versions 5.2.20 and 5.3.18 contains a remote code execution vulnerability known as Spring4Shell.

Impact

A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data binding. The specific exploit requires the application to run on Tomcat as a WAR deployment. If the application is deployed as a Spring Boot executable jar, i.e. the default, it is not vulnerable to the exploit. However, the nature of the vulnerability is more general, and there may be other ways to exploit it.

These are the prerequisites for the exploit:

  • JDK 9 or higher
  • Apache Tomcat as the Servlet container
  • Packaged as WAR
  • spring-webmvc or spring-webflux dependency

Patches

Workarounds

For those who are unable to upgrade, leaked reports recommend setting disallowedFields on WebDataBinder through an @ControllerAdvice. This works generally, but as a centrally applied workaround fix, may leave some loopholes, in particular if a controller sets disallowedFields locally through its own @InitBinder method, which overrides the global setting.

To apply the workaround in a more fail-safe way, applications could extend RequestMappingHandlerAdapter to update the WebDataBinder at the end after all other initialization. In order to do that, a Spring Boot application can declare a WebMvcRegistrations bean (Spring MVC) or a WebFluxRegistrations bean (Spring WebFlux).


Release Notes

spring-projects/spring-framework (org.springframework:spring-webmvc)

v5.3.18

Compare Source

⭐ New Features

  • Restrict access to property paths on Class references #​28261
  • Introduce cancel(boolean mayInterruptIfRunning) in ScheduledTask #​28233

🐞 Bug Fixes

  • Move off deprecated API in SessionTransactionData #​28234

📔 Documentation

  • Introduce warnings in documentation of SerializationUtils #​28246
  • Update copyright date in reference manual #​28237
  • @Transactional test does not execute all JPA lifecycle callback methods #​28228

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v5.3.17

Compare Source

⭐ New Features
  • Using DataClassRowMapper causes "No property found for column" debug messages in logs #​28179
  • Improve diagnostics in SpEL for large array creation #​28145
  • Support custom HTTP status in client-side REST testing support #​28105
  • AsyncRestTemplate logging too verbose #​28049
🐞 Bug Fixes
  • java.lang.NoClassDefFoundError: org/springframework/cglib/beans/BeanMapEmitter #​28110
  • CronExpression fails to calculate properly next execution when running on the day of winter daylight saving time #​28095
  • Private init/destroy method may be invoked twice #​28083
  • MappingJacksonValue and Jackson2CodecSupport#registerObjectMappersForType do not work together #​28045
  • SpEL fails to recover from error during MIXED mode compilation #​28043
  • When returning a ResponseEntity with a Flux while the function is suspended, it fails to encode the body #​27809
📔 Documentation
  • Improve documentation for @EnabledIf and @DisabledIf test support #​28157
  • Links to Spring Security are broken in the reference guide #​28135
  • Document that transaction rollback rules may result in unintentional matches #​28125
  • Improve documentation for TestContext events #​27757
  • Clarify behavior for generics support in BeanUtils.copyProperties #​27259
🔨 Dependency Upgrades
❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v5.3.16

Compare Source

⭐ New Features
  • Deprecate SocketUtils #​28052
  • Add convenience factory method for ManagedList, ManagedSet and ManagedMap #​28026
  • Synthesized annotation toString() doesn't match non-synthesized annotation on Java 9+ #​28015
  • Add support for strict JSON comparison in WebTestClient #​27993
  • Improve log message when searching for default executor for async processing #​27983
  • Inconsistent behaviour in spring-orm between EntityManagerFactoryUtils.closeEntityManager() and SessionFactoryUtils.closeSession() #​27972
  • Spring AOP cannot generate proxy for lambda on Java 16+ #​27971
  • RestTemplate reading Json prohibits JDK HttpClient connection reuse (keep-alive) #​27969
  • Deprecate AsyncTaskExecutor.execute(Runnable task, long startTimeout) #​27959
  • Add CacheErrorHandler implementation that logs exceptions rather than rethrowing them #​27826
  • Support for CGLIB BeanMap utility on JDK 17 #​27802
  • Avoid message listener recovery in case of persistence exceptions from external transaction manager #​1807
🐞 Bug Fixes
  • Fix CronExpression fails to calculate next execution on the day of daylight saving time #​28044
  • CronExpression fails to calculate next execution on the day of daylight saving time #​28038
  • Using recursive annotations in Kotlin causes stack overflow #​28012
  • Add formatting for SockJS close GoAway frame to prevent infinite loop for xhr-polling and xhr-streaming transport #​28000
  • Reflective method invocation does not detect interface method when interface is declared in a subclass (e.g. HashMap.HashIterator.hasNext) #​27995
  • ReflectionUtils.USER_DECLARED_METHODS does not filter methods declared in java.lang.Object #​27970
  • CronExpression doesn't handle Quartz weekday of month expressions correctly #​27966
  • ServletServerHttpRequest getHeaders() throws IllegalArgumentException instead of ignoring invalid content type / #​27957
  • PropertySourcesPlaceholderConfigurer ignores ignoreUnresolvablePlaceholders flag #​27947
  • Fix regression in BeanPropertyRowMapper regarding underscore name #​27941
  • WebClient corrupts binary data when trying to upload many files #​27939
  • Spring fails to determine XML is XSD-based if DOCTYPE appears in a comment #​27915
  • ResourceHttpRequestHandler with PathPatternParser cannot resolve resources with a jsessionid URL #​27913
📔 Documentation
  • Improve documentation for uri(URI) method in WebTestClient regarding base URI #​28058
  • Polish reference docs (core) #​28004
  • Fix ServletUriComponentsBuilder examples in ref docs #​27984
  • Improve documentation for implementing AspectJ around advice #​27980
  • Fix CaffeineCacheManager configuration in the documentation #​27967
  • Fix Javadoc links to JSR 305 annotations #​27904
  • Document how to register annotated classes with a GenericWebApplicationContext #​27778
🔨 Dependency Upgrades
❤️ Contributors

We'd like to thank all the contributors who worked on this release!


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch from 9e28153 to 87c74d0 Compare January 19, 2023 05:59
@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch 2 times, most recently from 7c60a1a to ca2e394 Compare January 19, 2023 22:06
@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch from ca2e394 to c65c265 Compare January 27, 2023 04:32
@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch from c65c265 to de846de Compare October 28, 2023 12:59
@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch from de846de to 1efe9a0 Compare August 28, 2024 18:10
@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch 2 times, most recently from 996d0bb to 04a9d80 Compare August 29, 2024 21:11
@renovate renovate bot force-pushed the renovate/maven-org.springframework-spring-webmvc-vulnerability branch from 04a9d80 to a9aca52 Compare August 29, 2024 21:15
@renovate renovate bot changed the title fix(deps): update dependency org.springframework:spring-webmvc to v5.3.18 [security] fix(deps): update dependency org.springframework:spring-webmvc to v5.3.18 [security] - autoclosed Sep 14, 2024
@renovate renovate bot closed this Sep 14, 2024
@renovate renovate bot deleted the renovate/maven-org.springframework-spring-webmvc-vulnerability branch September 14, 2024 00:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant