CVE-2023-30853 Vulnerability Analysis & Exploit Details

CVE-2023-30853
Vulnerability Scoring

7.6
/10
Very High Risk

Highly exploitable, CVE-2023-30853 poses a critical security risk that could lead to severe breaches.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: Low
    Some privileges are necessary to exploit the vulnerability.
  • Scope: Changed
    Successful exploitation can impact components beyond the vulnerable component.
  • User Interaction: Required
    User interaction is necessary for successful exploitation.

CVE-2023-30853 Details

Status: Modified

Last updated: 🕗 21 Nov 2024, 08:00 UTC
Originally published on: 🕓 28 Apr 2023, 16:15 UTC

Time between publication and last update: 572 days

CVSS Release: version 3

CVSS3 Source

security-advisories@github.com

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N

CVE-2023-30853 Vulnerability Summary

CVE-2023-30853: Gradle Build Action allows users to execute a Gradle Build in their GitHub Actions workflow. A vulnerability impacts GitHub workflows using the Gradle Build Action prior to version 2.4.2 that have executed the Gradle Build Tool with the configuration cache enabled, potentially exposing secrets configured for the repository. Secrets configured for GitHub Actions are normally passed to the Gradle Build Tool via environment variables. Due to the way that the Gradle Build Tool records these environment variables, they may be persisted into an entry in the GitHub Actions cache. This data stored in the GitHub Actions cache can be read by a GitHub Actions workflow running in an untrusted context, such as that running for a Pull Request submitted by a developer via a repository fork. This vulnerability was discovered internally through code review, and we have not seen any evidence of it being exploited in the wild. However, in addition to upgrading the Gradle Build Action, affected users should delete any potentially vulnerable cache entries and may choose to rotate any potentially affected secrets. Gradle Build Action v2.4.2 and newer no longer saves this sensitive data for later use, preventing ongoing leakage of secrets via the GitHub Actions Cache. While upgrading to the latest version of the Gradle Build Action will prevent leakage of secrets going forward, additional actions may be required due to current or previous GitHub Actions Cache entries containing this information. Current cache entries will remain vulnerable until they are forcibly deleted or they expire naturally after 7 days of not being used. Potentially vulnerable entries can be easily identified in the GitHub UI by searching for a cache entry with key matching `configuration-cache-*`. The maintainers recommend that users of the Gradle Build Action inspect their list of cache entries and manually delete any that match this pattern. While maintainers have not seen any evidence of this vulnerability being exploited, they recommend cycling any repository secrets if you cannot be certain that these have not been compromised. Compromise could occur if a user runs a GitHub Actions workflow for a pull request attempting to exploit this data. Warning signs to look for in a pull request include: - Making changes to GitHub Actions workflow files in a way that may attempt to read/extract data from the Gradle User Home or `<project-root>/.gradle` directories. - Making changes to Gradle build files or other executable files that may be invoked by a GitHub Actions workflow, in a way that may attempt to read/extract information from these locations. Some workarounds to limit the impact of this vulnerability are available: - If the Gradle project does not opt-in to using the configuration cache, then it is not vulnerable. - If the Gradle project does opt-in to using the configuration-cache by default, then the `--no-configuration-cache` command-line argument can be used to disable this feature in a GitHub Actions workflow. In any case, we recommend that users carefully inspect any pull request before approving the execution of GitHub Actions workflows. It may be prudent to require approval for all PRs from external contributors.

Assessing the Risk of CVE-2023-30853

Access Complexity Graph

The exploitability of CVE-2023-30853 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2023-30853

CVE-2023-30853 presents an accessible attack vector with minimal effort required. Restricting access controls and implementing security updates are critical to reducing exploitation risks.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2023-30853, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2023-30853, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2023-30853 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: Low
    Exploiting CVE-2023-30853 may cause minor changes to data without severely impacting its accuracy.
  • Availability: None
    CVE-2023-30853 does not impact system availability.

Exploit Prediction Scoring System (EPSS)

The EPSS score estimates the probability that this vulnerability will be exploited in the near future.

EPSS Score: 0.078% (probability of exploit)

EPSS Percentile: 36.92% (lower percentile = lower relative risk)
This vulnerability is less risky than approximately 63.08% of others.

CVE-2023-30853 References

External References

CWE Common Weakness Enumeration

CWE-312

CAPEC Common Attack Pattern Enumeration and Classification

  • Retrieve Embedded Sensitive Data CAPEC-37 An attacker examines a target system to find sensitive data that has been embedded within it. This information can reveal confidential contents, such as account numbers or individual keys/credentials that can be used as an intermediate step in a larger attack.

Vulnerable Configurations

  • cpe:2.3:a:gradle:build_action:-:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:-:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.0.2:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.0.2:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.3.2:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.3.2:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.3.3:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.3.3:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:1.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:1.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:-:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:-:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:rc1:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:rc1:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:rc2:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:rc2:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:rc3:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:rc3:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta1:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta1:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta2:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta2:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta3:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta3:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta4:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta4:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta5:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta5:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta6:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta6:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.0:beta7:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.0:beta7:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.2:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.2:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.3:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.3:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.4:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.4:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.5:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.5:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.6:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.6:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.1.7:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.1.7:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.0:-:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.0:-:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.0:rc1:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.0:rc1:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.0:rc2:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.0:rc2:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.0:beta1:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.0:beta1:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.3:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.3:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.4:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.4:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.2.5:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.2.5:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.3.0:-:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.3.0:-:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.3.0:beta1:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.3.0:beta1:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.3.2:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.3.2:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.3.3:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.3.3:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gradle:build_action:2.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:gradle:build_action:2.4.1:*:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2023-30853: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2025-26205 – Lua 5.4.7, when the debug library is used, has a out-of-bounds read and segmentation violation in mainpositionTV in ltable.c. NOTE: this is dispute...
  • CVE-2025-26204 – Lua 5.4.7, when the debug library is used, has a out-of-bounds read and segmentation violation in equalkey in ltable.c. NOTE: this is disputed beca...
  • CVE-2025-2129 – A vulnerability was found in Mage AI 0.9.75. It has been classified as problematic. This affects an unknown part. The manipulation leads to insecur...
  • CVE-2025-2127 – A vulnerability was found in JoomlaUX JUX Real Estate 3.4.0 on Joomla. It has been classified as problematic. Affected is an unknown function of th...
  • CVE-2025-2126 – A vulnerability was found in JoomlaUX JUX Real Estate 3.4.0 on Joomla and classified as critical. This issue affects some unknown processing of the...