logo

CVE-2022-21671 @replit/crosis

Package

Manager: npm
Name: @replit/crosis
Vulnerable Version: >=0 <7.3.1

Severity

Level: Medium

CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

EPSS: 0.00376 pctl0.5838

Details

Potential exposure of tokens to an Unauthorized Actor ### Impact When using this library as a way to programmatically communicate with Replit in a standalone fashion, if there are multiple failed attempts to contact Replit through a WebSocket, the library will attempt to communicate using a fallback poll-based proxy. The URL of the proxy has changed, so any communication done to the previous URL could potentially reach a server that is outside of Replit's control and the token used to connect to the Repl could be obtained by an attacker, leading to full compromise of that Repl (not of the account). ### Patches This was patched in 7.3.1, by updating the address of the fallback WebSocket polling proxy to the new one. ### Workarounds Specify the new address for the polling host (`gp-v2.replit.com`) in the `ConnectArgs`: ```typescript const connectOptions: ConnectArgs = { // ... pollingHost: 'gp-v2.replit.com', }; client.connect(connectOptions); ``` ### For more information Thanks to https://hackerone.com/orlserg for disclosing this. If you have any questions or comments about this advisory: * Open an issue in [replit/crosis](https://github.com/replit/crosis) * Email us at [security@replit.com](mailto:security@replit.com)

Metadata

Created: 2022-01-12T22:44:47Z
Modified: 2023-07-24T19:32:58Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/01/GHSA-7w54-gp8x-f33m/GHSA-7w54-gp8x-f33m.json
CWE IDs: ["CWE-200"]
Alternative ID: GHSA-7w54-gp8x-f33m
Finding: F017
Auto approve: 1