Find, fix and prevent vulnerabilities in your code.
high severity
- Vulnerable module: org.apache.commons:commons-lang3
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5, io.kubernetes:client-java@9.0.0 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › org.apache.commons:commons-lang3@3.9
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.apache.commons:commons-lang3@3.9
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › org.apache.commons:commons-lang3@3.9
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › org.apache.maven:maven-plugin-api@3.6.3 › org.apache.maven:maven-artifact@3.6.3 › org.apache.commons:commons-lang3@3.9Remediation: Upgrade to org.apache.maven:maven-plugin-api@3.9.8.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › org.apache.maven:maven-project@2.2.1 › org.apache.maven:maven-artifact@3.6.3 › org.apache.commons:commons-lang3@3.9
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › org.apache.maven:maven-project@2.2.1 › org.apache.maven:maven-artifact-manager@2.2.1 › org.apache.maven:maven-artifact@3.6.3 › org.apache.commons:commons-lang3@3.9
Overview
Affected versions of this package are vulnerable to Uncontrolled Recursion via the ClassUtils.getClass
function. An attacker can cause the application to terminate unexpectedly by providing excessively long input values.
Remediation
Upgrade org.apache.commons:commons-lang3
to version 3.18.0 or higher.
References
high severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-core
- Introduced through: com.fasterxml.jackson.core:jackson-core@2.11.2, com.fasterxml.jackson.core:jackson-databind@2.11.2 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-core@2.15.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.15.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
Overview
com.fasterxml.jackson.core:jackson-core is a Core Jackson abstractions, basic JSON streaming API implementation
Affected versions of this package are vulnerable to Denial of Service (DoS) due to missing input size validation when performing numeric type conversions. A remote attacker can exploit this vulnerability by causing the application to deserialize data containing certain numeric types with large values, causing the application to exhaust all available resources.
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
ws
package
Remediation
Upgrade com.fasterxml.jackson.core:jackson-core
to version 2.15.0-rc1 or higher.
References
high severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-core
- Introduced through: com.fasterxml.jackson.core:jackson-core@2.11.2, com.fasterxml.jackson.core:jackson-databind@2.11.2 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-core@2.15.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.15.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
Overview
com.fasterxml.jackson.core:jackson-core is a Core Jackson abstractions, basic JSON streaming API implementation
Affected versions of this package are vulnerable to Stack-based Buffer Overflow due to the parse
process, which accepts an unlimited input file with deeply nested data. An attacker can cause a stack overflow and crash the application by providing input files with excessively deep nesting.
Remediation
Upgrade com.fasterxml.jackson.core:jackson-core
to version 2.15.0-rc1 or higher.
References
high severity
- Vulnerable module: com.google.protobuf:protobuf-java
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@19.0.3.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-proto@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@19.0.3.
Overview
com.google.protobuf:protobuf-java is a Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
Affected versions of this package are vulnerable to Stack-based Buffer Overflow via the parsing of nested groups or series of SGROUP
tags as unknown fields with DiscardUnknownFieldsParser
or Java Protobuf Lite parser, or against Protobuf map fields. An attacker can cause infinite recursion by sending malicious Protocol Buffer data.
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
ws
package
Remediation
Upgrade com.google.protobuf:protobuf-java
to version 3.25.5, 4.27.5, 4.28.2 or higher.
References
high severity
- Vulnerable module: io.kubernetes:client-java
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0Remediation: Upgrade to io.kubernetes:client-java@9.0.1.
Overview
io.kubernetes:client-java is a Client Java package.
Affected versions of this package are vulnerable to Arbitrary File Write via Archive Extraction (Zip Slip). Path normalization is not done for archive files which can lead to path traversal via Zip archives.
Details
It is exploited using a specially crafted zip archive, that holds path traversal filenames. When exploited, a filename in a malicious archive is concatenated to the target extraction directory, which results in the final path ending up outside of the target folder. For instance, a zip may hold a file with a "../../file.exe" location and thus break out of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.
The following is an example of a zip archive with one benign file and one malicious file. Extracting the malicous file will result in traversing out of the target folder, ending up in /root/.ssh/
overwriting the authorized_keys
file:
+2018-04-15 22:04:29 ..... 19 19 good.txt
+2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
Remediation
Upgrade io.kubernetes:client-java
to version 9.0.1, 10.0.1 or higher.
References
high severity
- Vulnerable module: org.apache.commons:commons-compress
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.apache.commons:commons-compress@1.20Remediation: Upgrade to io.kubernetes:client-java@19.0.1.
Overview
org.apache.commons:commons-compress is an API for working with compression and archive formats.
Affected versions of this package are vulnerable to Infinite loop due to the improper handling of certain inputs during the parsing of dump files. An attacker can cause the application to enter an infinite loop by supplying crafted inputs.
Remediation
Upgrade org.apache.commons:commons-compress
to version 1.26.0 or higher.
References
high severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-databind
- Introduced through: com.fasterxml.jackson.core:jackson-databind@2.11.2, com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.12.6.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
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 Denial of Service (DoS) via a large depth of nested objects.
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
ws
package
Remediation
Upgrade com.fasterxml.jackson.core:jackson-databind
to version 2.12.6.1, 2.13.2.1 or higher.
References
high severity
- Vulnerable module: com.google.protobuf:protobuf-java
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@14.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-proto@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@14.0.1.
Overview
com.google.protobuf:protobuf-java is a Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
Affected versions of this package are vulnerable to Denial of Service (DoS). An issue in protobuf-java allowed the interleaving of com.google.protobuf.UnknownFieldSet
fields in such a way that would be processed out of order. A small malicious payload can occupy the parser for several minutes by creating large numbers of short-lived objects that cause frequent, repeated pauses.
Note: Protobuf javalite
users are not affected.
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
ws
package
Remediation
Upgrade com.google.protobuf:protobuf-java
to version 3.16.1, 3.18.2, 3.19.2 or higher.
References
high severity
- Vulnerable module: com.google.protobuf:protobuf-java
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@15.0.2.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-proto@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@15.0.2.
Overview
com.google.protobuf:protobuf-java is a Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
Affected versions of this package are vulnerable to Denial of Service (DoS) in MessageReflection.java
due to a text format parsing issue. Inputs containing multiple instances of non-repeated embedded messages with repeated or unknown fields causes objects to be converted back and forth between mutable and immutable forms, resulting in potentially long garbage collection pauses.
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
ws
package
Remediation
Upgrade com.google.protobuf:protobuf-java
to version 3.16.3, 3.19.6, 3.20.3, 3.21.7 or higher.
References
high severity
- Vulnerable module: org.apache.commons:commons-compress
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.apache.commons:commons-compress@1.20Remediation: Upgrade to io.kubernetes:client-java@13.0.0.
Overview
org.apache.commons:commons-compress is an API for working with compression and archive formats.
Affected versions of this package are vulnerable to Denial of Service (DoS). When reading a specially crafted ZIP archive, Compress can be made to allocate large amounts of memory that finally leads to an out-of-memory error even for very small inputs. This could be used to mount a denial of service attack against services that use Compress' zip package.
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
ws
package
Remediation
Upgrade org.apache.commons:commons-compress
to version 1.21 or higher.
References
high severity
- Vulnerable module: org.bitbucket.b_c:jose4j
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bitbucket.b_c:jose4j@0.7.2Remediation: Upgrade to io.kubernetes:client-java@19.0.3.
Overview
org.bitbucket.b_c:jose4j is a robust and easy to use open source implementation of JSON Web Token (JWT) and the JOSE specification suite (JWS, JWE, and JWK). It is written in Java and relies solely on the JCA APIs for cryptography. Please see https://bitbucket.org/b_c/jose4j/wiki/Home for more info, examples, etc...
Affected versions of this package are vulnerable to Denial of Service (DoS) via a large p2c
(PBES2 Count) value. An attacker can cause the application to consume excessive CPU resources by supplying an unusually high PBES2 Count value.
PoC
import org.jose4j.jwa.AlgorithmConstraints;
import org.jose4j.jwe.ContentEncryptionAlgorithmIdentifiers;
import org.jose4j.jwe.JsonWebEncryption;
import org.jose4j.jwe.KeyManagementAlgorithmIdentifiers;
import org.jose4j.keys.AesKey;
import org.jose4j.lang.ByteUtil;
import java.security.Key;
public class jwt {
public static void main(String[] argc)throws Exception{
Key key = new AesKey(ByteUtil.randomBytes(16));
JsonWebEncryption jwe = new JsonWebEncryption();
jwe.setAlgorithmConstraints(new AlgorithmConstraints(AlgorithmConstraints.ConstraintType.PERMIT,
KeyManagementAlgorithmIdentifiers.PBES2_HS256_A128KW));
jwe.setContentEncryptionAlgorithmConstraints(new AlgorithmConstraints(AlgorithmConstraints.ConstraintType.PERMIT,
ContentEncryptionAlgorithmIdentifiers.AES_128_CBC_HMAC_SHA_256));
jwe.setKey(key);
jwe.setCompactSerialization("eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwicDJjIjoyMDAwMDAwMDAwLCJwMnMiOiJ1RWxQUGhJLThGY2h3a1BhIn0=.JOIw8ccIdkor7-ZaHQz6pUkqj2VEL_XIuonOwdSrdeXxFb7qN8FZKw.1-ZgAG8KzCbl6wDjUzrsTw.0pLJ0ZEu9OMYV1jyfPIrqg.gFNkCEwB1lf_Jovc7ZOd5w");
System.out.println("Payload: " + jwe.getPayload());
}
}
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
ws
package
Remediation
Upgrade org.bitbucket.b_c:jose4j
to version 0.9.4 or higher.
References
high severity
- Vulnerable module: org.bitbucket.b_c:jose4j
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bitbucket.b_c:jose4j@0.7.2Remediation: Upgrade to io.kubernetes:client-java@18.0.0.
Overview
org.bitbucket.b_c:jose4j is a robust and easy to use open source implementation of JSON Web Token (JWT) and the JOSE specification suite (JWS, JWE, and JWK). It is written in Java and relies solely on the JCA APIs for cryptography. Please see https://bitbucket.org/b_c/jose4j/wiki/Home for more info, examples, etc...
Affected versions of this package are vulnerable to Use of a Broken or Risky Cryptographic Algorithm due to using RSA1_5
which is susceptible to chosen ciphertext attacks. The attack allows decrypting RSA1_5
or RSA_OAEP
encrypted ciphertexts. It may be feasible to sign with the affected keys.
PoC
{
"kty": "RSA",
"alg": "RSA1_5",
"use": "enc",
"n": "w2A4cbwOAK4ATnwXkGWereqv9dkEcgAGHc9g-cjo1HFeilYirvfD2Un2vQxW_6g2OKRPmmo46vMZFMYv_V57174j411y-NQlZGb7iFqMQADzo60VZ7vpvAX_NuxNGxYR-N2cBgvgqDiGAoO9ouNdhuHhxipTjGVfrPUpxmJtNPZpxsgxQWSpYCYMl304DD_5wWrnumNNIKOaVsAYmjFPV_wqxFCHbitPd1BG9SwXPk7wAHtXT6rYaUImS_OKaHkTO1OO0PNhd3-wJRNMCh_EGUwAghfWgFyAd20pQLZamamxgHvfL4-0hwuzndhHt0ye-gRVTtXDFEwABB--zwvlCw",
"e": "AQAB",
"kid": "rsa1_5",
"d": "EjMvbuDeyQ9sdeM3arscqgTXuWYq9Netui8sUHh3v_qDnQ1jE7t-4gny0y-IFy67RlGAHNlSTgixSG8h309i5_kNbMuyvx08EntJaS1OLVQpXhDskoo9vscsPBiNIj3PFMjIFQQcPG9vhGJzUu4tMzhtiME-oTB8VidMae-XTryPvozTu4rgfb4U7uauvLqESLz3A5xtzPnwNwqXAIlrdxU-MT_iln08on_QIF8afWUqCbsWWjEck_QDKLVpzh8VV9kkEVWwYfCFhHBwS-fgGJJTE3gK4HwOokydMtH95Dzj47MA2pLe600l7ioyGSPltcv967NtOpxMPM5ro751KQ",
"p": "-F1u3NAMWPu1TIuvIywIjh5fuiA3AVKLgS6Fw_hAi3M9c3T7E1zNJZuHgQExJEu06ZPfzye9m7taDzh-Vw4VGDED_MZedsE2jEsWa9EKeq3bZVf5j81FLCHH8BicFqrPjvoVUC35wrl9SGJzaOa7KXxD2jW22umYjJS_kcopvf0",
"q": "yWHG7jHqvfqT8gfhIlxpMbeJ02FrWIkgJC-zOJ26wXC6oxPeqhqEO7ulGqZPngNDdSGgWcQ7noGEU8O4MA9V3yhl91TFZy8unox0sGe0jDMwtxm3saXtTsjTE7FBxzcR0PubfyGiS0fJqQcj8oJSWzZPkUshzZ8rF3jTLc8UWac",
"dp": "Va9WWhPkzqY4TCo8x_OfF_jeqcYHdAtYWb8FIzD4g6PEZZrMLEft9rWLsDQLEiyUQ6lio4NgZOPkFDA3Vi1jla8DYyfE20-ZVBlrqNK7vMtST8pkLPpyjOEyq2CyKRfQ99DLnZfe_RElad2dV2mS1KMsfZHeffPtT0LaPJ_0erk",
"dq": "M8rA1cviun9yg0HBhgvMRiwU91dLu1Zw_L2D02DFgjCS35QhpQ_yyEYHPWZefZ4LQFmoms2cI7TdqolgmoOnKyCBsO2NY29AByjKbgAN8CzOL5kepEKvWJ7PonXpG-ou29eJ81VcHw5Ub_NVLG6V7b13E0AGbpKsC3pYnaRvcGs",
"qi": "8zIqISvddJYC93hP0sKkdHuVd-Mes_gsbi8xqSFYGqc-wSU12KjzHnZmBuJl_VTGy9CO9W4K2gejr588a3Ozf9U5hx9qCVkV0_ttxHcTRem5sFPe9z-HkQE5IMW3SdmL1sEcvkzD7z8QhcHRpp5aMptfuwnxBPY8U449_iNgXd4"
},
Remediation
Upgrade org.bitbucket.b_c:jose4j
to version 0.9.3 or higher.
References
high severity
- Vulnerable module: org.jsoup:jsoup
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › org.jsoup:jsoup@1.10.3Remediation: Upgrade to com.hubspot.jinjava:jinjava@2.6.0.
Overview
org.jsoup:jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
Affected versions of this package are vulnerable to Denial of Service (DoS). If the parser is run on user supplied input, an attacker may supply content that causes the parser to get stuck (loop indefinitely until cancelled), to complete more slowly than usual, or to throw an unexpected exception. This effect may support a denial of service attack. There are a few available workarounds. Users may rate limit input parsing, limit the size of inputs based on system resources, and/or implement thread watchdogs to cap and timeout parse runtimes.
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
ws
package
Remediation
Upgrade org.jsoup:jsoup
to version 1.14.2 or higher.
References
high severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@16.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Denial of Service (DoS) due to missing nested depth limitation for collections.
NOTE: This vulnerability has also been identified as: CVE-2022-38749
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
ws
package
Remediation
Upgrade org.yaml:snakeyaml
to version 1.31 or higher.
References
high severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@16.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Denial of Service (DoS) due to missing nested depth limitation for collections.
NOTE: This vulnerability has also been identified as: CVE-2022-25857
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
ws
package
Remediation
Upgrade org.yaml:snakeyaml
to version 1.31 or higher.
References
high severity
- Vulnerable module: io.fabric8:kubernetes-client
- Introduced through: io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1Remediation: Upgrade to io.fabric8:kubernetes-server-mock@4.11.2.
Overview
io.fabric8:kubernetes-client is a This client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.
Affected versions of this package are vulnerable to Directory Traversal. A malicious pod/container may cause applications using the fabric8 kubernetes-client copy
command to extract files outside the working path.
Details
A Directory Traversal attack (also known as path traversal) aims to access files and directories that are stored outside the intended folder. By manipulating files with "dot-dot-slash (../)" sequences and its variations, or by using absolute file paths, it may be possible to access arbitrary files and directories stored on file system, including application source code, configuration, and other critical system files.
Directory Traversal vulnerabilities can be generally divided into two types:
- Information Disclosure: Allows the attacker to gain information about the folder structure or read the contents of sensitive files on the system.
st
is a module for serving static files on web pages, and contains a vulnerability of this type. In our example, we will serve files from the public
route.
If an attacker requests the following URL from our server, it will in turn leak the sensitive private key of the root user.
curl http://localhost:8080/public/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/root/.ssh/id_rsa
Note %2e
is the URL encoded version of .
(dot).
- Writing arbitrary files: Allows the attacker to create or replace existing files. This type of vulnerability is also known as
Zip-Slip
.
One way to achieve this is by using a malicious zip
archive that holds path traversal filenames. When each filename in the zip archive gets concatenated to the target extraction folder, without validation, the final path ends up outside of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.
The following is an example of a zip
archive with one benign file and one malicious file. Extracting the malicious file will result in traversing out of the target folder, ending up in /root/.ssh/
overwriting the authorized_keys
file:
2018-04-15 22:04:29 ..... 19 19 good.txt
2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
Remediation
Upgrade io.fabric8:kubernetes-client
to version 4.13.2, 5.0.2, 4.7.2, 4.11.2 or higher.
References
high severity
- Vulnerable module: org.bouncycastle:bcprov-ext-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcprov-ext-jdk15on@1.66Remediation: Upgrade to io.kubernetes:client-java@11.0.3.
Overview
org.bouncycastle:bcprov-ext-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Comparison Using Wrong Factors. The OpenBSDBCrypt.checkPassword
utility method compared incorrect data when checking the password, allowing incorrect passwords to indicate they were matching with previously hashed ones that were different.
Remediation
Upgrade org.bouncycastle:bcprov-ext-jdk15on
to version 1.67 or higher.
References
high severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66Remediation: Upgrade to io.kubernetes:client-java@11.0.3.
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Comparison Using Wrong Factors. The OpenBSDBCrypt.checkPassword
utility method compared incorrect data when checking the password, allowing incorrect passwords to indicate they were matching with previously hashed ones that were different.
Remediation
Upgrade org.bouncycastle:bcprov-jdk15on
to version 1.67 or higher.
References
medium severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@17.0.2.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Arbitrary Code Execution in the Constructor
class, which does not restrict which types can be deserialized. This vulnerability is exploitable by an attacker who provides a malicious YAML file for deserialization, which circumvents the SafeConstructor
class.
The maintainers of the library contend that the application's trust would already have had to be compromised or established and therefore dispute the risk associated with this issue on the basis that there is a high bar for exploitation.
Remediation
Upgrade org.yaml:snakeyaml
to version 2.0 or higher.
References
medium severity
- Vulnerable module: com.google.code.gson:gson
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › com.google.code.gson:gson@2.8.6Remediation: Upgrade to io.kubernetes:client-java@14.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › io.gsonfire:gson-fire@1.8.4 › com.google.code.gson:gson@2.8.6Remediation: Upgrade to io.kubernetes:client-java@20.0.0.
Overview
Affected versions of this package are vulnerable to Deserialization of Untrusted Data via the writeReplace()
method in internal classes, which may allow a denial of service attack if combined with another exploit.
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 com.google.code.gson:gson
to version 2.8.9 or higher.
References
medium severity
- Vulnerable module: org.apache.commons:commons-compress
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.apache.commons:commons-compress@1.20Remediation: Upgrade to io.kubernetes:client-java@13.0.0.
Overview
org.apache.commons:commons-compress is an API for working with compression and archive formats.
Affected versions of this package are vulnerable to Denial of Service (DoS). When reading a specially crafted 7Z archive, Compress can be made to allocate large amounts of memory that finally leads to an out-of-memory error even for very small inputs. This could be used to mount a denial of service attack against services that use Compress' sevenz package.
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
ws
package
Remediation
Upgrade org.apache.commons:commons-compress
to version 1.21 or higher.
References
medium severity
- Vulnerable module: org.apache.commons:commons-compress
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.apache.commons:commons-compress@1.20Remediation: Upgrade to io.kubernetes:client-java@13.0.0.
Overview
org.apache.commons:commons-compress is an API for working with compression and archive formats.
Affected versions of this package are vulnerable to Denial of Service (DoS). When reading a specially crafted 7Z archive, the construction of the list of codecs that decompress an entry can result in an infinite loop. This could be used to mount a denial of service attack against services that use Compress' sevenz package.
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
ws
package
Remediation
Upgrade org.apache.commons:commons-compress
to version 1.21 or higher.
References
medium severity
- Vulnerable module: org.apache.commons:commons-compress
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.apache.commons:commons-compress@1.20Remediation: Upgrade to io.kubernetes:client-java@13.0.0.
Overview
org.apache.commons:commons-compress is an API for working with compression and archive formats.
Affected versions of this package are vulnerable to Denial of Service (DoS). When reading a specially crafted TAR archive, Compress can be made to allocate large amounts of memory that finally leads to an out-of-memory error even for very small inputs. This could be used to mount a denial of service attack against services that use Compress' tar package.
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
ws
package
Remediation
Upgrade org.apache.commons:commons-compress
to version 1.21 or higher.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-ext-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcprov-ext-jdk15on@1.66
Overview
org.bouncycastle:bcprov-ext-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the ASN1ObjectIdentifier
. An attacker can cause excessive resource consumption by submitting specially crafted ASN.1 Object Identifiers, potentially leading to service disruption.
Note: This issue only applies to applications which do consume unvetted, or otherwise unvalidated, ASN.1 encodings.
Remediation
A fix was pushed into the master
branch but not yet published.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-ext-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcprov-ext-jdk15on@1.66
Overview
org.bouncycastle:bcprov-ext-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to improper processing of large name constraint structures in PKIXCertPathReviewer
. An attacker can cause excessive resource allocation by submitting specially crafted ASN.1 objects, potentially leading to service disruption.
Workaround
This vulnerability can be mitigated by limiting the size of ASN.1 objects that can be loaded from untrusted sources, thereby capping the maximum size of a Name Constraints structure.
Remediation
A fix was pushed into the master
branch but not yet published.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the ASN1ObjectIdentifier
. An attacker can cause excessive resource consumption by submitting specially crafted ASN.1 Object Identifiers, potentially leading to service disruption.
Note: This issue only applies to applications which do consume unvetted, or otherwise unvalidated, ASN.1 encodings.
Remediation
A fix was pushed into the master
branch but not yet published.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to improper processing of large name constraint structures in PKIXCertPathReviewer
. An attacker can cause excessive resource allocation by submitting specially crafted ASN.1 objects, potentially leading to service disruption.
Workaround
This vulnerability can be mitigated by limiting the size of ASN.1 objects that can be loaded from untrusted sources, thereby capping the maximum size of a Name Constraints structure.
Remediation
A fix was pushed into the master
branch but not yet published.
References
medium severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-databind
- Introduced through: com.fasterxml.jackson.core:jackson-databind@2.11.2, com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.12.6.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@5.12.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
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 Denial of Service (DoS) when using JDK serialization to serialize and deserialize JsonNode
values.
It is possible for the attacker to send a 4-byte length payload, with a value of Integer.MAX_VALUE
, that will eventually cause large buffer allocation and out of heap memory.
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
ws
package
Remediation
Upgrade com.fasterxml.jackson.core:jackson-databind
to version 2.13.1, 2.12.6 or higher.
References
medium severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-databind
- Introduced through: com.fasterxml.jackson.core:jackson-databind@2.11.2, com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.12.7.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
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 Denial of Service (DoS) in the _deserializeFromArray()
function in BeanDeserializer
, due to resource exhaustion when processing a deeply nested array.
NOTE:
For this vulnerability to be exploitable the non-default DeserializationFeature
must be enabled.
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
ws
package
Remediation
Upgrade com.fasterxml.jackson.core:jackson-databind
to version 2.12.7.1, 2.13.4 or higher.
References
medium severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-databind
- Introduced through: com.fasterxml.jackson.core:jackson-databind@2.11.2, com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.12.7.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
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 Denial of Service (DoS) in the _deserializeWrappedValue()
function in StdDeserializer.java
, due to resource exhaustion when processing deeply nested arrays.
NOTE: This vulnerability is only exploitable when the non-default UNWRAP_SINGLE_VALUE_ARRAYS
feature is enabled.
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
ws
package
Remediation
Upgrade com.fasterxml.jackson.core:jackson-databind
to version 2.12.7.1, 2.13.4.1 or higher.
References
medium severity
- Vulnerable module: com.squareup.okio:okio
- Introduced through: io.fabric8:kubernetes-server-mock@4.11.1 and io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.squareup.okhttp3:okhttp@3.14.3 › com.squareup.okio:okio@1.17.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › com.squareup.okhttp3:okhttp@3.14.3 › com.squareup.okio:okio@1.17.2Remediation: Upgrade to io.kubernetes:client-java@13.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.squareup.okhttp3:logging-interceptor@3.14.3 › com.squareup.okhttp3:okhttp@3.14.3 › com.squareup.okio:okio@1.17.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › com.squareup.okhttp3:logging-interceptor@3.14.3 › com.squareup.okhttp3:okhttp@3.14.3 › com.squareup.okio:okio@1.17.2Remediation: Upgrade to io.kubernetes:client-java@13.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.squareup.okhttp3:mockwebserver@3.12.6 › com.squareup.okhttp3:okhttp@3.14.3 › com.squareup.okio:okio@1.17.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
Overview
Affected versions of this package are vulnerable to Denial of Service (DoS) due to improper exception handling by the GzipSource
class when parsing a malformed gzip buffer.
This vulnerability can be exploited on the Okio client when handling a crafted GZIP archive.
PoC
val gzBuf: Buffer = Buffer()
try {
val gzByteString: ByteString = ("1f8b41ff424242424343ffff").decodeHex()
gzBuf.write(gzByteString)
val gz: GzipSource = GzipSource(gzBuf)
val sinkBuf: Buffer = Buffer()
gz.read(sinkBuf, 5)
}
catch(e: IOException) {
println("got error: " + e.toString())
}
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
ws
package
Remediation
Upgrade com.squareup.okio:okio
to version 1.17.6, 3.4.0 or higher.
References
medium severity
- Vulnerable module: org.bitbucket.b_c:jose4j
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bitbucket.b_c:jose4j@0.7.2Remediation: Upgrade to io.kubernetes:client-java@18.0.0.
Overview
org.bitbucket.b_c:jose4j is a robust and easy to use open source implementation of JSON Web Token (JWT) and the JOSE specification suite (JWS, JWE, and JWK). It is written in Java and relies solely on the JCA APIs for cryptography. Please see https://bitbucket.org/b_c/jose4j/wiki/Home for more info, examples, etc...
Affected versions of this package are vulnerable to Inadequate Encryption Strength through the iteration count setting, which can reduce the computational effort required to crack the encryption if it is set to a low value.
Remediation
Upgrade org.bitbucket.b_c:jose4j
to version 0.9.3 or higher.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Observable Discrepancy due to the timing difference between exceptions thrown when processing RSA key exchange handshakes, AKA Marvin.
Note: The implemented fix mitigates the leakage of data via the PKCS#1 interface, but does not fully alleviate the side-channel as it allows cases in which the padding check fails but the handshake succeeds.
Remediation
There is no fixed version for org.bouncycastle:bcprov-jdk15on
.
References
medium severity
- Vulnerable module: com.google.protobuf:protobuf-java
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@15.0.2.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-proto@9.0.0 › com.google.protobuf:protobuf-java@3.12.2Remediation: Upgrade to io.kubernetes:client-java@15.0.2.
Overview
com.google.protobuf:protobuf-java is a Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
Affected versions of this package are vulnerable to Denial of Service (DoS) via the parsing procedure for binary and text format data. Input streams containing multiple instances of non-repeated embedded messages with repeated or unknown fields cause objects to be converted back and forth between mutable and immutable forms, resulting in potentially long garbage collection pauses.
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
ws
package
Remediation
Upgrade com.google.protobuf:protobuf-java
to version 3.16.3, 3.19.6, 3.20.3, 3.21.7 or higher.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-ext-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcprov-ext-jdk15on@1.66
Overview
org.bouncycastle:bcprov-ext-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Uncontrolled Resource Consumption ('Resource Exhaustion') within the org.bouncycastle.openssl.PEMParser
class. Parsing a file that has crafted ASN.1
data through the PEMParser
causes an OutOfMemoryError
.
Workaround
The attack can be avoided by filtering PEM
requests containing EXTERNAL
tagged encodings.
Remediation
There is no fixed version for org.bouncycastle:bcprov-ext-jdk15on
.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Uncontrolled Resource Consumption ('Resource Exhaustion') within the org.bouncycastle.openssl.PEMParser
class. Parsing a file that has crafted ASN.1
data through the PEMParser
causes an OutOfMemoryError
.
Workaround
The attack can be avoided by filtering PEM
requests containing EXTERNAL
tagged encodings.
Remediation
There is no fixed version for org.bouncycastle:bcprov-jdk15on
.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the solveQuadraticEquation()
function used for certificate verification in ECCurve.java
. Passing a large f2m parameter can cause excessive CPU consumption.
Remediation
There is no fixed version for org.bouncycastle:bcprov-jdk15on
.
References
medium severity
- Vulnerable module: com.fasterxml.jackson.core:jackson-core
- Introduced through: com.fasterxml.jackson.core:jackson-core@2.11.2, com.fasterxml.jackson.core:jackson-databind@2.11.2 and others
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-core@2.13.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.13.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to com.fasterxml.jackson.module:jackson-module-jaxb-annotations@2.20.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@5.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@5.9.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@5.10.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › io.fabric8:zjsonpatch@0.3.0 › com.fasterxml.jackson.core:jackson-databind@2.11.2 › com.fasterxml.jackson.core:jackson-core@2.11.2Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
Overview
com.fasterxml.jackson.core:jackson-core is a Core Jackson abstractions, basic JSON streaming API implementation
Affected versions of this package are vulnerable to Information Exposure due to the JsonLocation._appendSourceDesc
method. An attacker can access up to 500 bytes of unintended memory content by exploiting exception messages that incorrectly read from the beginning of a byte array instead of the logical payload start.
Workaround
This vulnerability can be mitigated by disabling exception message exposure to clients to avoid returning parsing exception messages in HTTP responses and/or disabling source inclusion in exceptions to prevent Jackson from embedding any source content in exception messages, avoiding leakage.
PoC
byte[] buffer = new byte[1000];
System.arraycopy("SECRET".getBytes(), 0, buffer, 0, 6);
System.arraycopy("{ \"bad\": }".getBytes(), 0, buffer, 700, 10);
JsonFactory factory = new JsonFactory();
JsonParser parser = factory.createParser(buffer, 700, 20);
parser.nextToken(); // throws exception
// Exception message will include "SECRET"
Remediation
Upgrade com.fasterxml.jackson.core:jackson-core
to version 2.13.0-rc1 or higher.
References
medium severity
- Vulnerable module: com.squareup.okhttp3:okhttp
- Introduced through: io.fabric8:kubernetes-server-mock@4.11.1 and io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.squareup.okhttp3:okhttp@3.14.3Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › com.squareup.okhttp3:okhttp@3.14.3Remediation: Upgrade to io.kubernetes:client-java@15.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.squareup.okhttp3:logging-interceptor@3.14.3 › com.squareup.okhttp3:okhttp@3.14.3Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › io.kubernetes:client-java-api@9.0.0 › com.squareup.okhttp3:logging-interceptor@3.14.3 › com.squareup.okhttp3:okhttp@3.14.3Remediation: Upgrade to io.kubernetes:client-java@15.0.0.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:mockwebserver@0.1.8 › com.squareup.okhttp3:mockwebserver@3.12.6 › com.squareup.okhttp3:okhttp@3.14.3Remediation: Upgrade to io.fabric8:kubernetes-server-mock@7.0.0.
Overview
com.squareup.okhttp3:okhttp is a HTTP & HTTP/2 client for Android and Java applications
Affected versions of this package are vulnerable to Information Exposure. When there's an illegal character in a header value, an IllegalArgumentException
is thrown whose message includes the full header value.
PoC
package com.launchdarkly.eventsource;
import okhttp3.*;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
public class OkhttpHeaderExceptionTest {
@Test
public void invalidHeaderValueIsCapturedInException() throws Exception {
String password = "very-secret-password";
String badValue = password + "\n";
try {
Request req = new Request.Builder().url("http://github.com/path/doesnt/matter")
.header("Authorization", badValue)
.build();
} catch (IllegalArgumentException e) {
assertThat(e.getMessage(), not(containsString(password)));
}
}
}
Remediation
Upgrade com.squareup.okhttp3:okhttp
to version 4.9.2 or higher.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-ext-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcprov-ext-jdk15on@1.66Remediation: Upgrade to io.kubernetes:client-java@11.0.3.
Overview
org.bouncycastle:bcprov-ext-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Cryptographic Issues via weak key-hash message authentication code (HMAC) that is only 16 bits long which can result in hash collisions, as a result of an error within the BKS version 1 keystore (BKS-V1) files and could lead to an attacker being able to affect the integrity of these files. This vulnerability was introduced following an incomplete fix for CVE-2018-5382.
Remediation
Upgrade org.bouncycastle:bcprov-ext-jdk15on
to version 1.69 or higher.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66Remediation: Upgrade to io.kubernetes:client-java@11.0.3.
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Cryptographic Issues via weak key-hash message authentication code (HMAC) that is only 16 bits long which can result in hash collisions, as a result of an error within the BKS version 1 keystore (BKS-V1) files and could lead to an attacker being able to affect the integrity of these files. This vulnerability was introduced following an incomplete fix for CVE-2018-5382.
Remediation
Upgrade org.bouncycastle:bcprov-jdk15on
to version 1.69 or higher.
References
medium severity
- Vulnerable module: org.bouncycastle:bcprov-jdk15on
- Introduced through: io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.bouncycastle:bcpkix-jdk15on@1.66 › org.bouncycastle:bcprov-jdk15on@1.66
Overview
org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.
Affected versions of this package are vulnerable to Information Exposure due to missing validation for the X.500 name of any certificate, subject, or issuer. The presence of a wild card may lead to information disclosure. This could allow a malicious user to obtain unauthorized information via blind LDAP Injection, exploring the environment and enumerating data.
Note:
The exploit depends on the structure of the target LDAP directory as well as what kind of errors are exposed to the user.
Remediation
A fix was pushed into the master
branch but not yet published.
References
medium severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@16.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Stack-based Buffer Overflow when parsing crafted untrusted YAML files, which can lead to a denial-of-service.
Remediation
Upgrade org.yaml:snakeyaml
to version 1.31 or higher.
References
medium severity
- Vulnerable module: org.jsoup:jsoup
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › org.jsoup:jsoup@1.10.3Remediation: Upgrade to com.hubspot.jinjava:jinjava@2.7.1.
Overview
org.jsoup:jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
Affected versions of this package are vulnerable to Cross-site Scripting (XSS) due to improper sanitization of HTML
including javascript: URL
expressions if the non-default SafeList.preserveRelativeLinks
option is enabled and no Content Security Policy is set on the website.
Note: Users that are upgrading to the fixed version should also clean old content again because unsanitized input may have persisted.
Mitigation
Users unable to upgrade to the fixed version should disable the SafeList.preserveRelativeLinks
option, which will rewrite input URLs as absolute URLs and ensure an appropriate Content Security Policy is defined. It could be also used should as a defense-in-depth best practice.
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.jsoup:jsoup
to version 1.15.3 or higher.
References
medium severity
- Module: com.google.code.findbugs:annotations
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › com.google.code.findbugs:annotations@3.0.1
LGPL-2.0 license
medium severity
- Module: org.eclipse.sisu:org.eclipse.sisu.inject
- Introduced through: org.apache.maven:maven-plugin-api@3.6.3
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › org.apache.maven:maven-plugin-api@3.6.3 › org.eclipse.sisu:org.eclipse.sisu.plexus@0.3.4 › org.eclipse.sisu:org.eclipse.sisu.inject@0.3.4
EPL-1.0 license
medium severity
- Module: org.eclipse.sisu:org.eclipse.sisu.plexus
- Introduced through: org.apache.maven:maven-plugin-api@3.6.3
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › org.apache.maven:maven-plugin-api@3.6.3 › org.eclipse.sisu:org.eclipse.sisu.plexus@0.3.4
EPL-1.0 license
low severity
- Vulnerable module: commons-net:commons-net
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › commons-net:commons-net@3.3Remediation: Upgrade to com.hubspot.jinjava:jinjava@2.7.0.
Overview
Affected versions of this package are vulnerable to Information Exposure as the FTP client trusts the host from PASV responses by default. A malicious server can redirect the Commons Net code to use a different host, but the user has to connect to the malicious server in the first place. This may lead to leakage of information about services running on the private network of the client.
Remediation
Upgrade commons-net:commons-net
to version 3.9.0 or higher.
References
low severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@16.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Stack-based Buffer Overflow when parsing crafted untrusted YAML files, which can lead to a denial-of-service.
Remediation
Upgrade org.yaml:snakeyaml
to version 1.32 or higher.
References
low severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@16.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Stack-based Buffer Overflow in org.yaml.snakeyaml.constructor.BaseConstructor.constructObject
when parsing crafted untrusted YAML files, which can lead to a denial-of-service.
Remediation
Upgrade org.yaml:snakeyaml
to version 1.31 or higher.
References
low severity
- Vulnerable module: org.yaml:snakeyaml
- Introduced through: io.kubernetes:client-java@9.0.0 and io.fabric8:kubernetes-server-mock@4.11.1
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.kubernetes:client-java@16.0.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.fabric8:kubernetes-server-mock@4.11.1 › io.fabric8:kubernetes-client@4.11.1 › com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.20.0 › org.yaml:snakeyaml@1.26Remediation: Upgrade to io.fabric8:kubernetes-server-mock@6.0.0.
Overview
org.yaml:snakeyaml is a YAML 1.1 parser and emitter for Java.
Affected versions of this package are vulnerable to Stack-based Buffer Overflow when supplied with untrusted input, due to improper limitation for incoming data.
Remediation
Upgrade org.yaml:snakeyaml
to version 1.32 or higher.
References
low severity
- Vulnerable module: com.google.guava:guava
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5 and io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › com.google.guava:guava@25.0-jreRemediation: Upgrade to com.hubspot.jinjava:jinjava@2.7.3.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › com.google.guava:guava@25.0-jreRemediation: Upgrade to io.kubernetes:client-java@11.0.0.
Overview
com.google.guava:guava is a set of core libraries that includes new collection types (such as multimap and multiset,immutable collections, a graph library, functional types, an in-memory cache and more.
Affected versions of this package are vulnerable to Creation of Temporary File in Directory with Insecure Permissions due to the use of Java's default temporary directory for file creation in FileBackedOutputStream
. Other users and apps on the machine with access to the default Java temporary directory can access the files created by this class. This more fully addresses the underlying issue described in CVE-2020-8908, by deprecating the permissive temp file creation behavior.
NOTE: Even though the security vulnerability is fixed in version 32.0.0, the maintainers recommend using version 32.0.1, as version 32.0.0 breaks some functionality under Windows.
Remediation
Upgrade com.google.guava:guava
to version 32.0.0-android, 32.0.0-jre or higher.
References
low severity
- Vulnerable module: com.google.guava:guava
- Introduced through: com.hubspot.jinjava:jinjava@2.5.5 and io.kubernetes:client-java@9.0.0
Detailed paths
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › com.hubspot.jinjava:jinjava@2.5.5 › com.google.guava:guava@25.0-jreRemediation: Upgrade to com.hubspot.jinjava:jinjava@2.7.1.
-
Introduced through: parj/createk8syaml-maven-plugin@parj/createk8syaml-maven-plugin#09ae6cdb3a6affa02d50534ab2ea58a52df0cbdc › io.kubernetes:client-java@9.0.0 › com.google.guava:guava@25.0-jreRemediation: Upgrade to io.kubernetes:client-java@11.0.0.
Overview
com.google.guava:guava is a set of core libraries that includes new collection types (such as multimap and multiset,immutable collections, a graph library, functional types, an in-memory cache and more.
Affected versions of this package are vulnerable to Information Disclosure.
The file permissions on the file created by com.google.common.io.Files.createTempDir
allow an attacker running a malicious program co-resident on the same machine to steal secrets stored in this directory. This is because, by default, on unix-like operating systems the /tmp directory is shared between all users, so if the correct file permissions aren't set by the directory/file creator, the file becomes readable by all other users on that system.
PoC
File guavaTempDir = com.google.common.io.Files.createTempDir();
System.out.println("Guava Temp Dir: " + guavaTempDir.getName());
runLS(guavaTempDir.getParentFile(), guavaTempDir); // Prints the file permissions -> drwxr-xr-x
File child = new File(guavaTempDir, "guava-child.txt");
child.createNewFile();
runLS(guavaTempDir, child); // Prints the file permissions -> -rw-r--r--
For Android developers, choosing a temporary directory API provided by Android is recommended, such as context.getCacheDir()
. For other Java developers, we recommend migrating to the Java 7 API java.nio.file.Files.createTempDirectory()
which explicitly configures permissions of 700, or configuring the Java runtime's java.io.tmpdir system property to point to a location whose permissions are appropriately configured.
Remediation
There is no fix for com.google.guava:guava
. However, in version 30.0 and above, the vulnerable functionality has been deprecated. In oder to mitigate this vulnerability, upgrade to version 30.0 or higher and ensure your dependencies don't use the createTempDir or createTempFile methods.