rstudio / shiny-server

Host Shiny applications over the web.
https://rstudio.com/shiny/server
Other
711 stars 291 forks source link

CVE-2024-4068 #570

Open eduardszoecs opened 3 weeks ago

eduardszoecs commented 3 weeks ago

Dear shiny-server maintainers,

I currently see this issue poping up during our trivy scans.

{
"id": "CVE-2024-4068",
"category": "container_scanning",
"message": "braces: fails to limit the number of characters it can handle",
"description": "The NPM package `braces`, versions prior to 3.0.3, fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In `lib/parse.js,` if a malicious user sends \"imbalanced braces\" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash.",
"cve": "CVE-2024-4068",
"severity": "High",
"confidence": "Unknown",
"solution": "Upgrade braces to 3.0.3",
"scanner": {
"id": "trivy",
"name": "trivy"
},
"location": {
"dependency": {
"package": {
"name": "braces",
"path": "opt/shiny-server/node_modules/braces/package.json"
},
"version": "3.0.2"
},
"operating_system": "Unknown",
"image": "Node.js"
},
"identifiers": [
{
"type": "cve",
"name": "CVE-2024-4068",
"value": "CVE-2024-4068",
"url": "https://avd.aquasec.com/nvd/cve-2024-4068"
}
],
"links": [
{
"url": "https://access.redhat.com/security/cve/CVE-2024-4068"
},
{
"url": "https://devhub.checkmarx.com/cve-details/CVE-2024-4068"
},
{
"url": "https://devhub.checkmarx.com/cve-details/CVE-2024-4068/"
},
{
"url": "https://github.com/micromatch/braces"
},
{
"url": "https://github.com/micromatch/braces/blob/98414f9f1fabe021736e26836d8306d5de747e0d/lib/parse.js#L308"
},
{
"url": "https://github.com/micromatch/braces/commit/415d660c3002d1ab7e63dbf490c9851da80596ff"
},
{
"url": "https://github.com/micromatch/braces/issues/35"
},
{
"url": "https://github.com/micromatch/braces/pull/37"
},
{
"url": "https://github.com/micromatch/braces/pull/40"
},
{
"url": "https://nvd.nist.gov/vuln/detail/CVE-2024-4068"
},
{
"url": "https://www.cve.org/CVERecord?id=CVE-2024-4068"
}
]
}

Fix is an (easy) update of braces.

jcheng5 commented 3 weeks ago

That's very strange, as braces is only an indirect devDependency (only used for unit testing so it doesn't need to be deployed to the server). Oh, unless you built from source?

jcheng5 commented 3 weeks ago

(Regardless, I'll get this fixed, thanks!)