rstudio / shiny-server

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

CVE-2024-4068 #570

Open eduardszoecs opened 5 months ago

eduardszoecs commented 5 months 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 5 months 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 5 months ago

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