Miggo Logo

CVE-2020-29582:
Incorrect Default Permissions in JetBrains Kotlin

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.0014%
Published
5/24/2022
Updated
1/27/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.jetbrains.kotlin:kotlin-stdlibmaven<= 1.4.201.4.21

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from Kotlin's temporary file/directory creation functions using Java's File.createTempFile API which has insecure default permissions. The patches explicitly deprecate these functions (createTempDir and createTempFile) in Utils.kt, noting their permission issues. Runtime profiling would show these functions when vulnerable code creates temporary resources. The functions are fully qualified as kotlin.io.createTempDir and kotlin.io.createTempFile based on their package structure visible in the file path.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

In J*t*r*ins Kotlin ***or* *.*.**, * vuln*r**l* J*v* *PI w*s us** *or t*mpor*ry *il* *n* *ol**r *r**tion. *n *tt**k*r w*s **l* to r*** **t* *rom su** *il*s *n* list *ir**tori*s *u* to ins**ur* p*rmissions.

Reasoning

T** vuln*r**ility st*ms *rom Kotlin's t*mpor*ry *il*/*ir**tory *r**tion *un*tions usin* J*v*'s `*il*.*r**t*T*mp*il*` *PI w*i** **s ins**ur* ****ult p*rmissions. T** p*t***s *xpli*itly **pr***t* t**s* *un*tions (`*r**t*T*mp*ir` *n* `*r**t*T*mp*il*`) i