Skip to content

Update dependency org.springframework:spring-webmvc to v6 [SECURITY]#5596

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/maven-org.springframework-spring-webmvc-vulnerability
Open

Update dependency org.springframework:spring-webmvc to v6 [SECURITY]#5596
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/maven-org.springframework-spring-webmvc-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 6, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
org.springframework:spring-webmvc 5.2.3.RELEASE6.1.14 age confidence

Spring MVC controller vulnerable to a DoS attack

CVE-2024-38828 / GHSA-w3c8-7r8f-9jp8

More information

Details

Spring MVC controller methods with an @​RequestBody byte[] method parameter are vulnerable to a DoS attack.

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Spring Framework Path Traversal vulnerability

CVE-2024-38819 / GHSA-g5vr-rgqm-vf78

More information

Details

Applications serving static resources through the functional web frameworks WebMvc.fn or WebFlux.fn are vulnerable to path traversal attacks. An attacker can craft malicious HTTP requests and obtain any file on the file system that is also accessible to the process in which the Spring application is running.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Spring Framework is vulnerable to security bypass via mvcRequestMatcher pattern mismatch

CVE-2023-20860 / GHSA-7phw-cxx7-q9vq

More information

Details

Spring Framework running version 6.0.0 - 6.0.6 or 5.3.0 - 5.3.25 using "**" as a pattern in Spring Security configuration with the mvcRequestMatcher creates a mismatch in pattern matching between Spring Security and Spring MVC, and the potential for a security bypass.

Severity

  • CVSS Score: 9.1 / 10 (Critical)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

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

v6.1.14

Compare Source

⭐ New Features
  • Use Locale.ROOT for locale neutral, case insensitive comparisons #​33708
  • Improve checks for relative paths in static resource handling #​33689
  • CorsUtils.isCorsRequest throws unhandled IllegalArgumentException and returns 500 Internal Server Error on malfomed Origin header #​33682
  • Skip processing of Java annotations in QualifierAnnotationAutowireCandidateResolver #​33580
  • Include argument name in MethodArgumentTypeMismatchException error message #​33573
  • Preserve coroutine context in WebClientExtensions #​33548
  • Blocking call detected in ConcurrentReferenceHashMap by BlockHound #​33450
  • Warning message about bean post-processing and eager injection may suggest the wrong cause #​33184
🐞 Bug Fixes
  • DelegatingFilterProxy Causes Pinned Virtual Threads #​33656
  • Potential NPE from MethodParameter.getMethod() check in KotlinDelegate.hasDefaultValue() #​33609
  • Missing native image hints for JDK proxies created by JMS connection factories #​33590
  • AotTestExecutionListener should not be invoked for a @DisabledInAotMode test class #​33589
  • Use encoded resource path instead of input path validation in spring-webflux #​33568
  • org.springframework.util.ResourceUtils#toRelativeURL drops custom URLStreamHandler #​33561
  • Current observation not in scope during WebClient ExchangeFilterFunction execution #​33559
  • ZoneIdEditor throws wrong exception type for TypeConverterSupport #​33545
  • MimeMessageHelper addInline with ByteArrayResource fail with null filename #​33527
  • @Cacheable throws NullPointerException when RuntimeException is thrown inside annotated code #​33492
  • Path variable values missing in RedirectView when PathPattern are used #​33422
  • Reactive HttpComponentsClientHttpResponse ignores Expires cookie attribute #​33157
📔 Documentation
  • Update fallback.adoc #​33721
  • Update scheduling.adoc #​33703
  • Fix link in testing/support-jdbc.adoc #​33686
  • Adapt Javadoc note about log level of BeanPostProcessorChecker #​33617
  • Reference the spring-framework-petclinic repository wich uses AspectJ #​33539
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​arey, @​asibross, @​boulce, @​drdpov, @​hosamaly, @​ilya40umov, @​izeye, and @​junhyeongkim2

v6.1.13

Compare Source

⭐ New Features
  • Errors thrown from SmartLifeycle#stop results in (unnecessary) waiting for the shutdown timeout #​33442
  • Updates to resource handling for functional endpoints #​33434
  • Stop logging result in WebAsyncManager #​33406
  • spring native not support method handler with kotlin default value #​33384
🐞 Bug Fixes
  • BindingReflectionHintsRegistrar do not take into account the boxed type Boolean #​33380
  • Ensure use of specified status code on redirect with Rendering #​33498
  • Inconsistent handling of X-Forwarded-Prefix in servlet and reactive stack #​33465
  • ServerHttpObservationFilter does not register against new async operations #​33451
  • Revert removal of deprecated rawStatusCode methods #​33440
  • PathMatchingResourcePatternResolver no longer follows symlinks #​33424
  • Deadlock between SseEmitter and StandardServletAsyncWebRequest when clients disconnect #​33421
  • RestClient doesn't open a scope for the processing of the request #​33397
  • WebTestClient leaks when ParameterizedTypeReference is used #​33389
📔 Documentation
  • Document fixed rate scheduling with CRaC #​33490
  • Update information in SpEL Evaluation chapter in reference manual #​33456
  • Stop documenting use of -debug compiler flag in reference manual #​33453
  • Use discrete headings instead of titled blocks in reference manual #​33447
  • Fix example for @ImportResource in the reference manual #​33446
  • Fix a typo in the CDS documentation #​33437
  • Fix link to chapter introduction #​33417
  • Improve documentation on reading form data via Servlet request parameters vs @RequestBody #​33409
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​dancer1325, @​izeye, and @​yfoel

v6.1.12

Compare Source

⭐ New Features
  • Efficient handling of conditional HTTP requests #​33372
  • LocaleEditor cannot parse language tag with script like zh-Hans #​33348
  • Reinstate qualifier support for legacy JSR-330 @javax.inject.Named annotation #​33345
  • SimpleAsyncTaskScheduler stops accepting new tasks when isShutdown #​33336
🐞 Bug Fixes
  • Fix incorrect weak ETag validation #​33374
  • Avoid CacheAspectSupport#findInCaches falling through to the reactiveCachingHandler #​33371
  • ScheduledAnnotationReactiveSupport starts the observation before it is opened #​33349
  • RestClient observation flags error for UnknownContentTypeException twice #​33347
  • RestClient instrumentation unnecessarily calls stop on a closed observation #​33346
  • SimpleEvaluationContext does not enforce read-only semantics #​33319
  • SpEL wraps primitive array in Object[] when invoking varargs method #​33317
  • SpEL no longer supports lists for varargs invocations #​33315
  • SpEL Indexer silently ignores failure to set property as index #​33310
  • AOT-generated code produces deprecation warnings when using a deprecated class for autowiring #​33295
  • @Scheduled method in test class not supported anymore #​33286
  • AOT-generated code produces deprecation warnings when referencing a nested class of a deprecated class #​33273
  • Jaxb2XmlEncoder does not support JAXBElement subtypes #​33258
  • ShallowEtagHeaderFilter throws a NumberFormatException for responses bigger than 2Gb #​33256
  • RequestPredicates fail with UnsupportedOperationException with a custom servlet path #​33251
  • Missing observation for @JmsListener response messages #​33221
  • ConversionService cannot convert primitive array to Object[] #​33212
  • Spring coroutines AOP is not compatible with @Cacheable #​33210
  • PathMatchingResourcePatternResolver#convertClassLoaderURL drops URLStreamHandler in version 6.1.x #​33199
  • SpEL cannot invoke varargs MethodHandle function with a primitive array #​33198
  • Trim last allowed origin when parsing comma-delimited string #​33181
  • Multipart files not deleted after upload is finished with async request #​33161
  • JaxbContextContainer does not define the ClassLoader to use to retrieve the JAXBContext to use #​33158
  • Memory Leak in WebFlux application handling HTTP Multipart #​33094
  • Support invoking bridged suspending functions in AopUtils #​33045
📔 Documentation
  • Fix typo in the bean validation section of the reference manual #​33354
  • Fix syntax error in RestClient documentation #​33350
  • Add Kotlin example for expectAll() #​33341
  • Javadoc of ReactorResourceFactory#setConnectionProviderSupplier wrongly states it can be ignored #​33338
  • Improve EnableCaching & CachingConfigurer Javadoc #​33288
  • Code sample has wrong reference to configurePathMatching #​33277
  • Document that NoOpResponseErrorHandler is to be used with the RestTemplate #​33276
  • Stop referring to Oracle STRUCT and ARRAY as they are deprecated #​33248
  • Update links in reference manual #​33245
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​GoncaloPT, @​crusherd, @​genuss, @​kashike, @​ngocnhan-tran1996, @​olbinski, @​pcvolkmer, @​sheip9, @​tafjwr, and @​underbell

v6.1.11

Compare Source

⭐ New Features
  • Ensure varargs component type for MethodHandle is not null in SpEL's ReflectionHelper #​33193
  • Confusing WebClient exception message in case of Reactor-Netty PrematureCloseException during response #​33127
  • Include the bean name in the exception when an invalid factoryBeanObjectType attribute is found #​33117
  • Use error handler for reactive cache aspect #​33073
  • getTypeForFactoryMethod should catch NoClassDefFoundError #​33075
🐞 Bug Fixes
  • SpEL cannot invoke varargs MethodHandle function with an array #​33191
  • SpEL cannot invoke varargs MethodHandle function with zero variable arguments #​33190
  • Nested bean instance supplier invocation does not retain previous factory method #​33180
  • DefaultErrorResponseBuilder does not implement headers(Consumer) #​33156
  • Fix adaptation of violations on Set method parameter #​33150
  • Web controller call with invalid body resulting in 500 instead of 400 when using kotlinx-serialization #​33138
  • "file:." cannot be resolved to java.nio.file.Path (and plain "." value resolves to classpath root) #​33124
  • Mockito mock falsely initialized as CGLIB proxy with AspectJ aspect #​33113
  • Fix ClassCastException from return value validation with proxy when adaptConstraintViolations=true #​33105
  • Spring coroutines AOP is not compatible with @Transactional #​33095
  • ReactorClientHttpConnector creates new HttpClient for every request #​33093
  • Trace and Span IDs are no longer propagated RequestBodyAdvice beans #​33091
  • Early LocalContainerEntityManagerFactoryBean initialization fails in case of null bean definition #​33082
  • ReactorNettyClientRequest.convertException should include original exception if cause is null #​33080
  • SpEL incorrectly splits string arguments by comma for Object... varargs method #​33013
  • ProtobufMessageConverter fails to parse JSON payload if byte array is used #​27408
📔 Documentation
  • Harmonize phrasing in URI Encoding section #​33166
  • Document that ModelMap is not a supported argument type in WebFlux #​33107
  • Example in Method Injection section of Spring Framework documentation refers to wrong bean names #​33096
  • Resource writer doesn't consider subclasses of InputStreamResource for content length bypass #​33089
  • Improve documentation regarding encoding in FreeMarker support #​33071
  • Exception for validation failure in WebFlux does not match the documentation #​33061
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​TAKETODAY, @​hunhee98, @​imvtsl, @​snussbaumer, and @​zizare

v6.1.10

Compare Source

⭐ New Features
  • Defensive PersistenceExceptionTranslator bean retrieval in PersistenceExceptionTranslationInterceptor on shutdown #​33067
  • Support all "connection reset" exception phrases in DisconnectedClientHelper #​33064
🐞 Bug Fixes
  • Duplicate observations recorded with RestClient #​33068
  • WebFlux validation requires Servlet API since Spring Framework 6.1.3 #​33043
  • No qualifying bean of type 'java.lang.String' in case of accidental @Autowired @Bean method with @Value parameter #​33030
  • ConfigurationClassEnhancer does not use correct ClassLoader when called multiple times #​33024
📔 Documentation
  • Typo in Annotation-driven Listener Endpoints section of Spring Framework documentation #​33050
  • Container Extension Points section of Spring Framework documentation refer to the wrong property name #​33037
  • Fix typo in comment #​33036
  • Incorrect constructor details in the javadoc for ApplicationContextEvent #​33032
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​tafjwr

v6.1.9

Compare Source

⭐ New Features
  • CRaC: ignore checkpointOnRefresh afterRestore #​32978
  • Add missing hints for Hibernate @TenantId #​32967
  • AnnotationUtils performance degrades with deep stacks #​32921
  • Missing hints for Hibernate generators #​32842
  • AbstractAutoProxyCreator#determineBeanType can trigger bean initialization at build time for aspects implementing Ordered #​32230
🐞 Bug Fixes
  • Behaviour change in ScheduledAnnotationBeanPostProcessor: canceling scheduled tasks on ContextClosedEvent v6.0 -> v6.1 #​33009
  • ContentCachingRequestWrapper may allocate too much memory #​32987
  • Support canEncode() for JAXBElement in Jaxb2XmlEncoder #​32977
  • AspectJ CTW aspects executed twice #​32970
  • @Valid annotations on container elements for handler argument validation not supported #​32964
  • Add support for double backslashes to StringUtils#cleanPath #​32962
  • @CacheEvict condition uses wrapper comparison instead of actual objects #​32960
  • ConcurrentHashMap.computeIfAbsent used in AdvisedSupport can cause virtual thread pinning #​32958
  • Exception mapping does not work as expected when plugging in ReactorNettyClientRequestFactory into RestTemplate and RestClient #​32952
  • ReactorResourceFactory not working with CRaC onRefresh checkpoint #​32945
  • SpEL compilation fails when indexing into an array or list with an Integer #​32908
  • SpEL compilation fails when indexing into a Map with a primitive #​32903
  • BeanUtils.copyProperties no longer copies generic type properties from a base class that has been enhanced #​32888
  • Application not starting with @EnableTransactionManagement(mode = AdviceMode.ASPECTJ) #​32882
  • ReactorNettyClientResponse should not throw exception if no body is available #​32805
  • Observation in ServerHttpObservationFilter is never stopped for asynchronous requests #​32730
📔 Documentation
  • Fix typo in the Simple Broker section of the reference documentation #​32993
  • Remove outdated copyright from index.adoc #​32983
  • Use HttpStatusCode consistently in reference guide #​32966
  • Entity name in MappingSqlQuery example of reference guide is wrong #​32957
  • Fix RegisterReflectionForBinding Javadoc #​32947
  • Reference documentation sample for MethodValidationPostProcessor is missing a static keyword #​32929
  • Fix typo in Jakarta validation documentation #​32928
  • Refine KotlinDetector.isKotlinType documentation for Kotlin 2.x lambdas #​32905
  • Complete Kotlin example for HTTP message codecs in reference doc #​32877
  • Use Threadlocal.remove() instead of .set(null) in documentation #​32874
  • Unexpected bean override / inject behavior #​32825
  • Document why complex object structure are not supported as paremeters or properties by AOT #​32273
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​Attacktive, @​Seungpang, @​deblockt, @​hlmg, @​ozooxo, @​soglad, and @​ypyf

v6.1.8

Compare Source

⭐ New Features
  • Avoid creation of SAXParserFactory for every read operation in Jaxb2Marshaller and co #​32851
  • Suppress deprecation warning for AOT-generated code that refers to a deprecated bean type #​32850
🐞 Bug Fixes
  • Overridden aspect method runs twice #​32865
  • @DateTimeFormat(iso = DateTimeFormat.ISO.DATE\_TIME) cannot convert UTC without milliseconds to java.util.Date #​32856
  • Spring AOP fails against registered @Configurable aspect #​32838
  • MockHttpServletRequest should not use a shared reader when no content is available #​32820
📔 Documentation
  • Modernize Antora Build #​32864
  • Modernize Antora Build #​32863
  • Refine CDS documentation #​32843
  • Revisit validation documentation to better explain when method validation is invoked #​32807
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​rwinch

v6.1.7

Compare Source

⭐ New Features
  • ResponseEntity is not reliably closed with InputStreamResource #​32802
  • Accept ajc-compiled @Aspect classes for Spring AOP proxy usage #​32793
  • Failure to process a bean definition ahead-of-time with an instance supplier should provide more contextual information #​32775
  • Provide methods to unambiguously send form data with MockMvc #​32757
  • Introduce NoOp implementation for ResponseErrorHandler #​32750
  • Support varargs invocations in SpEL for varargs array subtype #​32704
  • StreamUtils.copyRange overreads source stream in some cases #​32695
  • Modify error message when timeout is less than TIMEOUT_DEFAULT #​32635
  • Jetty HttpConnections not closed with SSE on Jetty 12.0.7+ when clients close the connection #​32629
  • Prevent duplicate subscription ID's in destinationCache of DefaultSubscriptionRegistry #​32625
  • When retrieval of a LoadTimeWeaverAware bean fails the resulting exception message may not indicate why it was being created #​32470
🐞 Bug Fixes
  • Do not send Cookie header in reactive JdkClientHttpRequest if no cookies added #​32799
  • Inconsistent use of cleaned URLs in PathMatchingResourcePatternResolver #​32828
  • DeferredQueryInvocationHandler fails to unwrap QuerySqmImpl class outside of transaction #​32766
  • BindingReflectionHintsRegistrar#registerReflectionHints can be invoked with a null type #​32753
  • AnnotationConfigWebApplicationContext should propagate ApplicationStartup to BeanFactory #​32747
  • Ignore non-String keys in PropertiesPropertySource.getPropertyNames() #​32742
  • MergedAnnotations search does not find container for repeatable annotation #​32731
  • "multiple subscribers not supported" when using WebClient exchange #​32727
  • ConfigurationClassEnhancer should consistently trigger FastClass creation at build-time #​32682
  • HttpComponentsClientHttpRequestFactory does not set Content-Length: 0 #​32678
  • Wrong proxy generation order during AOT for classes with ScopedProxyMode.TARGET\_CLASS and advisors #​32669
  • Unhandled JMS listener exceptions are not propagated #​32666
  • beanFactory#getBean with arguments ignore them if an Instance supplier is defined #​32657
  • Incorrect AsyncRequestTimeoutException handling in ResponseEntityExceptionHandler #​32644
  • Include actual cause's message in various parsing exception messages #​32636
  • Configuration class with Bean factory method on an interface generates wrong target with AOT #​32609
  • RestClient observations are stopped before ResponseSpec calls #​32575
  • MvcUriComponentsBuilder.fromMethodName does not pick the annotated method transparently #​32553
  • Deadlock/Stall in ConcurrentWebSocketSessionDecorator with Undertow 2.3.10 #​32445
  • RSocket setup payload can cause Netty ByteBuf leak #​32424
  • WebFlux temporary file not always deleted with parallel uploads. #​31217
📔 Documentation
  • Replace RFC 7807 by RFC 9457 in documentation #​32806
  • Links to Framework and Servlet Javadoc from Framework's Kotlin API documentation are broken #​32797
  • Fix incorrect class reference syntax in Kotlin code sample #​32733
  • Improve documentation advising against use of HandlerInterceptor for security #​32729
  • Inconsistent behaviour on transactional async method #​32709
  • Document that getBean with arguments is not recommended with AOT #​32690
  • Provide an example of custom request URL with RestClient in the reference guide #​32685
  • Correct documentation on streaming with MockMvcWebTestClient #​32687
  • Document limitations of CGLIB proxy class generation in JPMS module setups #​32671
  • Update links to HttpOnly documentation at OWASP in ResponseCookie #​32663
  • Document that RestTemplate may not return a body for certain exceptions #​32641
  • Document that DataIntegrityViolationException can also be thrown on read-only queries #​32631
  • Update documentation to explain streaming vs collecting and error handling with Flux<T> return values #​32630
  • Revise "The IoC Container" section to be more relevant for modern Spring applications #​32429
  • XML bean definition with factory-method does not always determine correct target type #​32091
  • Document @Order behavior on types, bean methods, and config classes #​30177
  • Clarify recommendation on self-injection for legitimate use cases (e.g. @Transactional re-entrant calls) #​28299
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​LeMikaelF, @​Seungpang, @​izeye, @​m4tt30c91, @​remeio, and @​yhao3

v6.1.6

Compare Source

⭐ New Features
  • Log column type for limited support message in JdbcUtils.getResultSetValue #​32601
  • Consistent support for generic FactoryBean type matching when using getBeanProvider #​32590
  • @RequestParam binding does not support params with an empty array "[]" suffix #​32577
  • Maximum Request Size handling support for Undertow in StandardMultipartHttpServletRequest #​32549
  • Introduce common support for is-null-safe checks in SpEL nodes #​32516
  • Avoid additional unnecessary Annotation array cloning in TypeDescriptor #​32476
  • Avoid cloning empty Annotation array in TypeDescriptor #​32405
🐞 Bug Fixes
  • Refine scheme, userinfo, host and port parsing in UriComponentsBuilder #​32616
  • "GET must not have a request body" exception with OkhttpClient and BufferingClientHttpRequestFactory #​32612
  • JMSTemplate.sendAndReceive does not propagate tracer over the wire #​32606
  • Calling Kotlin suspend functions in non-reactive application crashes due to unresolvable class #​32599
  • MethodIntrospector.selectMethods() fails to detect bridge methods across ApplicationContexts #​32586
  • Fix handling value class with private constructor on proxy #​32536
  • ReactorNettyClientResponse should not dispose connection #​32528
  • CompoundExpression omits null-safe syntax in AST string representation of null-safe selection/projection in SpEL #​32515
  • Generic Kotlin controllers got broken in 6.1.5 #​32510
  • WebFlux Blocking controller runs on non-blocking thread when request input data present #​32502
  • Generic interface on FactoryBean class not autowired in case of targetType mismatch #​32489
  • HeaderContentNegotiationStrategy.resolveMediaTypes() throws unexpected InvalidMimeTypeException #​32483
  • JmsUtils.commitIfNecessary catches and ignores JMS IllegalStateException, losing message with ActiveMQ Artemis #​32473
  • Missing bean class in native image with a Kotlin nested class #​32472
  • Spring MVC re-creates form data from request params and re-encoding can change the content-length #​32471
  • Unhandled JMS exceptions are not always recorded as observation errors #​32458
  • Consistently apply TaskDecorator to ManagedExecutorService as well #​32455
📔 Documentation
  • SimpleAsyncTaskScheduler: Returned ScheduledFuture does not track provided task execution #​32589
  • Remove link to unrelated method in javadoc of AnnotatedBeanDefinitionReader #​32560
  • Fix typos and improve wording in reference documentation #​32557
  • Document that active profiles are set at build time with AOT #​32543
  • Fix broken link to vavr in the reference guide #​32494
  • Document AOT limitations related to Kotlin identifiers with backticks #​32487
  • Add Javadoc since to AbstractClientHttpRequestFactoryWrapper.getDelegate() #​32474
  • Default strategy for ProblemDetail error codes wrongly document how "detail" is supported #​32446
🔨 Dependency Upgrades
❤️ Contributors

Thank you to all the contributors who worked on this release:

@​Banuelorigni, @​LinorDolev, @​T45K, @​izeye, @​kilink, @​quaff, and @​qww1552

v6.1.5

Compare Source

⭐ New Features
  • Extract reusable method for URI validations #​32440
  • Allow UriTemplate to be built with an empty template #​32432
  • Optimize Coroutine invocations #​32390
  • Improve exception message when Scheduled tasks that are using Virtual Threads fail on shutdown #​32381
  • Add query parameters to MockMvc Kotlin DSL #​32371
  • Optimize content type parsing in ServletServerHttpResponse #​32361
  • Refine handling of disconnected client error in ExceptionHandlerExceptionResolver #​32359
  • Refine \*HttpMessageConverter#getContentLength return value null safety #​32325
  • Optimize HttpHeaders.getAcceptLanguageAsLocales #​32318
  • SimpleAsyncTaskScheduler: consistently apply default error handling #​32298
  • Use Spliterator of underlying collection in MutablePropertyValues / MutablePropertySources [#​32281](https://redirect.github.com/spring-pro

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

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

Rebasing: Never, 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 added the dependencies Pull requests that update a dependency file label May 6, 2026
@renovate renovate Bot requested a review from a team May 6, 2026 08:47
@hashicorp-vault-sonar-prod
Copy link
Copy Markdown
Contributor

hashicorp-vault-sonar-prod Bot commented May 6, 2026

Renovate Jira issue ID: SONARJAVA-6347

@sonar-review-alpha
Copy link
Copy Markdown
Contributor

sonar-review-alpha Bot commented May 6, 2026

Summary

⚠️ The PR description exceeded the analysis limit and was truncated. The review may not reflect all context.

This PR bumps spring-webmvc from 5.2.3 to 6.1.14 — a major version upgrade driven by three security fixes: CVE-2024-38828 (DoS in @RequestBody handling), CVE-2024-38819 (path traversal in static resource serving), and CVE-2023-20860 (critical security bypass in mvcRequestMatcher). The change is a single version update in pom.xml, but reviewers should verify API compatibility and behavioral changes across the codebase, since 5.x → 6.x introduces breaking changes.

What reviewers should know

Key points for review:

  • Major version jump: This is not a patch or minor bump — Spring 5 to 6 has significant API changes and deprecation removals. Verify that the application's Spring MVC code is compatible (controller mappings, bean definitions, filter configuration, etc.).

  • JSP context: Since this is in the java-jsp module, pay special attention to JSP tag library compatibility and any JSTL/Spring tag integration. Spring 6 made changes to view handling.

  • Breaking changes to watch for:

    • Servlet API minimum version increased (Spring 6 requires Servlet 5.0+)
    • Removal of deprecated APIs from Spring 5
    • Changes to request/response handling and content negotiation
  • Testing: Ensure the module builds without errors and that JSP rendering still works as expected. Integration tests should pass to catch runtime compatibility issues.

  • No code changes required: The pom.xml update alone won't break the build, but the application must adapt to Spring 6's stricter requirements — verify this through testing rather than assuming compatibility.


  • Generate Walkthrough
  • Generate Diagram

🗣️ Give feedback

Copy link
Copy Markdown
Contributor

@sonar-review-alpha sonar-review-alpha Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR has one real bug that will break the test suite: the version bump in pom.xml was not paired with a matching update to the hardcoded filename in the test code.

🗣️ Give feedback

Comment thread java-jsp/pom.xml
Comment on lines 92 to +95
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
<version>6.1.14</version>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pom.xml now downloads spring-webmvc-6.1.14.jar, but JasperTest.java:77 still references the old filename:

private final File springJar = Paths.get("target/test-jars/spring-webmvc-5.2.3.RELEASE.jar").toFile();

The downloaded JAR name is derived from the artifact version, so target/test-jars/spring-webmvc-5.2.3.RELEASE.jar will no longer exist — tests at lines 165 and 282 of JasperTest.java will fail with a missing-file error.

Update the path in JasperTest.java to target/test-jars/spring-webmvc-6.1.14.jar.

Suggested change
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
<version>6.1.14</version>
<artifactItem>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.1.14</version>
</artifactItem>
  • Mark as noise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants