Impact
Any user with "crawler" or "admin" access to a Browsertrix instance version >=1.15.0 <1.22.8 can run arbitrary commands on the pod running the Browsertrix's back-end, which includes access to the instance's database, configured storage bucket(s), and any configured proxy servers.
An attacker may be able to access, modify, and delete the following:
- Email addresses, hashed passwords, and associated organizations of users
- Archived items and their metadata, including both crawls and uploads
- Saved browser profiles, including cookies and other stored browser data which may include credentials to any website that a user logged into for the purpose of crawling
- Back-ups of archived items, browser profiles, and other stored data
- SSH keys for any configured proxy servers
Additionally, where configured (such as on Webrecorder's hosted Browsertrix instance), they may be able to access:
- Associated external subscription information of organizations
- User-facing billing information such as past purchases & subscription history, billing addresses, truncated credit card information (last 4 digits)
For self-hosted users of Browsertrix, the ability to exploit this vulnerability is limited to users with "crawler" or "admin" permission on the specific instance of Browsertrix. If you have enabled open registration, you are at risk, please upgrade or patch immediately. If you have not, the ability to exploit will be limited to existing crawler users on your instance, so the risk is somewhat lower; please still upgrade as soon as possible though.
For Webrecorder's hosted instance, the potential impact was wider, as anyone was able to sign up for a free trial and be granted access as an admin to their own org.
At the moment we have not found any indication that this vulnerability was known or exploited in the wild. We are continuing to investigate.
Patches
The vulnerability has been patched in Browsertrix 1.22.8 and later. We recommend rotating secrets (such as database credentials, storage bucket keys, and SSH keys for proxy servers) after updating.
Upgrading will depend on how you deploy Browsertrix, in most cases you should be able to re-run the command used to deploy previously with the new version. We have instructions for updating a cluster with Helm in our docs.
Please reach out to us if you need a hand.
Workarounds
If you are not able to update your Browsertrix instance, this vulnerability can be worked around by preventing API calls with paths matching /api/orgs/*/crawlconfigs/validate/custom-behavior (where * matches any string) from reaching the api container. This could be implemented with a custom firewall between pods, or by modifying the api container's nginx config file.
Impact
Any user with "crawler" or "admin" access to a Browsertrix instance version >=1.15.0 <1.22.8 can run arbitrary commands on the pod running the Browsertrix's back-end, which includes access to the instance's database, configured storage bucket(s), and any configured proxy servers.
An attacker may be able to access, modify, and delete the following:
Additionally, where configured (such as on Webrecorder's hosted Browsertrix instance), they may be able to access:
For self-hosted users of Browsertrix, the ability to exploit this vulnerability is limited to users with "crawler" or "admin" permission on the specific instance of Browsertrix. If you have enabled open registration, you are at risk, please upgrade or patch immediately. If you have not, the ability to exploit will be limited to existing crawler users on your instance, so the risk is somewhat lower; please still upgrade as soon as possible though.
For Webrecorder's hosted instance, the potential impact was wider, as anyone was able to sign up for a free trial and be granted access as an admin to their own org.
At the moment we have not found any indication that this vulnerability was known or exploited in the wild. We are continuing to investigate.
Patches
The vulnerability has been patched in Browsertrix 1.22.8 and later. We recommend rotating secrets (such as database credentials, storage bucket keys, and SSH keys for proxy servers) after updating.
Upgrading will depend on how you deploy Browsertrix, in most cases you should be able to re-run the command used to deploy previously with the new version. We have instructions for updating a cluster with Helm in our docs.
Please reach out to us if you need a hand.
Workarounds
If you are not able to update your Browsertrix instance, this vulnerability can be worked around by preventing API calls with paths matching
/api/orgs/*/crawlconfigs/validate/custom-behavior(where*matches any string) from reaching theapicontainer. This could be implemented with a custom firewall between pods, or by modifying the api container'snginxconfig file.