Bug 1949643 (CVE-2021-29428)

Summary: CVE-2021-29428 gradle: local privilege escalation through system temporary directory
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: aboyko, aileenc, asoldano, atangrin, avibelli, bbaranow, bgeorges, bibryam, bmaxwell, brian.stansberry, cdewolf, chazlett, clement.escoffier, dandread, darran.lofthouse, dkreling, dosoudil, drieden, eleandro, fjuma, gmalinko, gsmet, hamadhan, hbraun, iweiss, janstey, jnethert, jochrist, jpallich, jperkins, jross, jwon, krathod, kwills, lgao, lthon, msochure, msvehla, mszynkie, nwallace, pantinor, peholase, pgallagh, pjindal, pmackay, probinso, rguimara, rruss, rstancel, rsvoboda, sbiarozk, sdouglas, smaestri, swoodman, tom.jenkinson, yborgess
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-05-18 14:33:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1949646    

Description Guilherme de Almeida Suckevicz 2021-04-14 17:40:05 UTC
In Gradle before version 7.0, on Unix-like systems, the system temporary directory can be created with open permissions that allow multiple users to create and delete files within it. Gradle builds could be vulnerable to a local privilege escalation from an attacker quickly deleting and recreating files in the system temporary directory. This vulnerability impacted builds using precompiled script plugins written in Kotlin DSL and tests for Gradle plugins written using ProjectBuilder or TestKit. If you are on Windows or modern versions of macOS, you are not vulnerable. If you are on a Unix-like operating system with the "sticky" bit set on your system temporary directory, you are not vulnerable. The problem has been patched and released with Gradle 7.0. As a workaround, on Unix-like operating systems, ensure that the "sticky" bit is set. This only allows the original user (or root) to delete a file. If you are unable to change the permissions of the system temporary directory, you can move the Java temporary directory by setting the System Property `java.io.tmpdir`. The new path needs to limit permissions to the build user only. For additional details refer to the referenced GitHub Security Advisory.

Reference:
https://github.com/gradle/gradle/security/advisories/GHSA-89qm-pxvm-p336

Comment 4 Jonathan Christison 2021-04-30 17:54:30 UTC
Marking Camel K and Camel Quarkus as having a low impact, although both products ship indirectly vulnerable artifacts (gradle-wrapper) these artifacts are not available for use by application developers and are not used during the build of either product.

Comment 6 Todd Cullum 2021-05-04 17:49:27 UTC
Statement:

Red Hat CodeReady Studio 12 is not affected by this vulnerability because it does not ship the vulnerable code.

Comment 9 errata-xmlrpc 2022-05-18 10:56:15 UTC
This issue has been addressed in the following products:

  Red Hat build of Quarkus 2.7.5

Via RHSA-2022:4623 https://access.redhat.com/errata/RHSA-2022:4623

Comment 10 Product Security DevOps Team 2022-05-18 14:33:50 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2021-29428