CVE-2021-31411:
Insecure temporary directory usage in frontend build functionality of Vaadin 14 and 15-19
6.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.15058%
CWE
Published
5/6/2021
Updated
2/1/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
com.vaadin:vaadin-bom | maven | >= 14.0.3, <= 14.5.2 | 14.5.3 |
com.vaadin:vaadin-bom | maven | >= 15.0.0, <= 19.0.2 | 19.0.5 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from using the OS's default temp directory (CWE-379) for frontend build resources. FrontendUtils.getBaseDir() was identified as the entry point for temp directory resolution in Vaadin's build process, using System.getProperty("java.io.tmpdir") in vulnerable versions. The ensureDirectoryExists method would then create directories with broad permissions. Patches likely modified these functions to use application-specific temp directories with secure permissions. These functions would appear in stack traces during frontend rebuild operations where temporary directory handling occurs.