CVE-2021-41124 Splash authentication credentials potentially leaked to target websites in scrapy-splash

High 7.4 Published Updated

Scrapy-splash users relying on HttpAuthMiddleware for Splash authentication may leak credentials to target websites during non-Splash requests like robots.txt.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2021-41124?

CVE-2021-41124 is a high-severity vulnerability in scrapy-plugins scrapy-splash, published on 5 Oct 2021. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

Scrapy-splash is a library which provides Scrapy and JavaScript integration. In affected versions users who use [`HttpAuthMiddleware`](http://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.httpauth) (i.e. the `http_user` and `http_pass` spider attributes) for Splash authentication will have any non-Splash request expose your credentials to the request target. This includes `robots.txt` requests sent by Scrapy when the `ROBOTSTXT_OBEY` setting is set to `True`. Upgrade to scrapy-splash 0.8.0 and use the new `SPLASH_USER` and `SPLASH_PASS` settings instead to set your Splash authentication credentials safely. If you cannot upgrade, set your Splash request credentials on a per-request basis, [using the `splash_headers` request parameter](https://github.com/scrapy-plugins/scrapy-splash/tree/0.8.x#http-basic-auth), instead of defining them globally using the [`HttpAuthMiddleware`](http://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.httpauth). Alternatively, make sure all your requests go through Splash. That includes disabling the [robots.txt middleware](https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#topics-dlmw-robots).

Weakness: CWE-200

Which versions are affected by CVE-2021-41124?

3 open source packages ship an affected version, including scrapy-splash. It affects 1 product.

PackageAffectedFixed in
scrapy-splash PyPIAll versions0.8.0
scrapy-splash PyPIAll versions0.8.0
scrapy-splash PyPIAll versions0.8.0

Products include Zyte Scrapy-Splash.

How do I fix CVE-2021-41124?

Upgrade scrapy-splash to 0.8.0 or later.

Is CVE-2021-41124 being exploited?

There is no known exploitation of CVE-2021-41124 in the wild and no public exploit code.

Sources

Also known as GHSA-823f-cwm9-4g74, PYSEC-2021-364.

Is CVE-2021-41124 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free