Skip to content

Hoppscotch Extension responds to calls made by origins not in the domain list

High
AndrewBastin published GHSA-jjh5-pvqx-gg5v May 14, 2024

Package

Hoppscotch Extension (Chrome Web Store)

Affected versions

> 0.28

Patched versions

0.35
Hoppscotch Extension (Firefox Addons)
> 0.28
0.35

Description

Due to an oversight during a change made to the extension in the commit d4e8e48 , a critical check for the origin list was missed and allowed for messages to be sent to the extension which the extension gladly processed and responded back with the results of, while this wasn't supposed to happen and be blocked by the origin not being present in the origin list.

Impact

This vulnerability exposes Hoppscotch Extension users to sites which call into Hoppscotch Extension APIs internally. This fundamentally allows any site running on the browser with the extension installed to bypass CORS restrictions if the user is running extensions with the given version. We haven't seen any reports of this happening in the wild for the time being, will update the advisory if we find any known actors in the wild.

Patches

This security hole was patched in the commit 7e364b9 which was released along with the extension version 0.35.

Workarounds

You can use the Extensions Settings to disable the extension access to only the origins that you want.
Chrome/Chrome Based: https://arc.net/l/quote/arjkviwf
Firefox doesn't have an alternative to this as of writing this.

References

A PoC demo site submitted by the reporter: https://server.yadhu.in/poc/hoppscotch-poc.html

Credits

Thanks to @yadhukrishnam for responsible disclosure of this vulnerability 🤗

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H

CVE ID

CVE-2024-34714

Weaknesses

No CWEs

Credits