Headline
CVE-2023-30548: fix(gatsby-plugin-sharp): don't serve static assets that are not resu… · gatsbyjs/gatsby@dcf88ed
gatsby-plugin-sharp is a plugin for the gatsby framework which exposes functions built on the Sharp image processing library. The gatsby-plugin-sharp plugin prior to versions 5.8.1 and 4.25.1 contains a path traversal vulnerability exposed when running the Gatsby develop server (gatsby develop
). It should be noted that by default gatsby develop is only accessible via the localhost 127.0.0.1, and one would need to intentionally expose the server to other interfaces to exploit this vulnerability by using server options such as --host 0.0.0.0, -H 0.0.0.0, or the GATSBY_HOST=0.0.0.0 environment variable. Attackers exploiting this vulnerability will have read access to all files within the scope of the server process. A patch has been introduced in [email protected] and [email protected] which mitigates the issue by ensuring that included paths remain within the project directory. As stated above, by default gatsby develop is only exposed to the localhost 127.0.0.1. For those using the develop server in the default configuration no risk is posed. If other ranges are required, preventing the develop server from being exposed to untrusted interfaces or IP address ranges would mitigate the risk from this vulnerability. Users are non the less encouraged to upgrade to a safe version.
Permalink
Browse files
fix(gatsby-plugin-sharp): don’t serve static assets that are not resu…
…lt of currently triggered deferred job (#37796) (#37802)
* fix(gatsby-plugin-sharp): don’t serve static assets that are not result of currently triggered deferred job (#37796)
* add tests
* fix(gatsby-plugin-sharp): don’t serve static assets that are not result of currently triggered deferred job
(cherry picked from commit 6539860)
* ignore browserlist update prompt
* fix ignore
Co-authored-by: Michal Piechowiak [email protected]
- Loading branch information
Related news
### Impact The gatsby-plugin-sharp plugin prior to versions 5.8.1 and 4.25.1 contains a path traversal vulnerability exposed when running the Gatsby develop server (`gatsby develop`). The following steps can be used to reproduce the vulnerability: ``` # Create a new Gatsby project, and install gatsby-plugin-sharp $ npm init gatsby $ cd my-gatsby-site $ npm install gatsby-plugin-sharp # Add the plugin to gatsby-config.js module.exports = { plugins: [ { resolve: `gatsby-plugin-sharp`, }, ] } # Start the Gatsby develop server $ gatsby develop # Execute the path traversal vulnerability $ curl "http://127.0.0.1:8000/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd" ``` It should be noted that by default `gatsby develop` is only accessible via the localhost `127.0.0.1`, and one would need to intentionally expose the server to other interfaces to exploit this vulnerability by using server options such as `--host 0.0.0.0`,...