Skip to content

Inadequate access verification when using proxy commands (< 5.2.2.5, < 5.2.3.2)

Moderate
JustArchi published GHSA-88ch-366c-5m89 Feb 8, 2022

Package

ArchiSteamFarm (GitHub)

Affected versions

Between ≥ 5.2.2.2 and < 5.2.2.5, between ≥ 5.2.3.0 and < 5.2.3.2

Patched versions

≥ 5.2.2.5, ≥ 5.2.3.2

Description

Impact

What kind of vulnerability is it? Who is impacted?

Due to a bug in ASF code, introduced in version V5.2.2.2, the program didn't adequately verify effective access of the user sending proxy (i.e. [Bots]) commands. In particular, a proxy-like command sent to bot A targetting bot B has incorrectly verified user's access against bot A - instead of bot B, to which the command was originally designated. This in result allowed access to resources beyond those configured, being a security threat affecting confidentiality of other bot instances.

A successful attack exploiting this bug requires a significant access granted explicitly by original owner of the ASF process prior to that, as attacker has to control at least a single bot in the process to make use of this inadequate access verification loophole. Such access is impossible to obtain without prior ASF owner's consent, therefore vastly limiting potential damage that can be done.

While majority of users run ASF in single-user scenario, not being directly affected, those that share access to their bots, or run bots for other people, should consider upgrading ASAP.

Patches

Has the problem been patched? What versions should users upgrade to?

The issue is patched in ASF V5.2.2.5, V5.2.3.2 and future versions.

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

Since successful attack requires explicit permission granted, the security threat doesn't apply to people that are the sole owners of all bots that are running as part of ASF process, that is, without having any other (human) users configured as masters, operators or family sharing. It's also a recommended workaround for the problem in case you're unable to upgrade to newer version, that is, ensuring that no other people are configured to access any declared bots, as it removes the attack vector entirely.

While not strictly a workaround, if your users already can access all of the bots (owning master permission), then there is nothing further to exploit either.

References

Are there any links users can visit to find out more?

The issue was originally introduced in #2501.
The problematic code was fixed in #2509.
Originally reported by @TheRhanderson on our ASF Discord server (not linked here).

For more information

If you have any questions or comments about this advisory:

Severity

Moderate

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
High
Privileges required
High
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

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:H/PR:H/UI:N/S:U/C:H/I:L/A:N

CVE ID

CVE-2022-23627

Weaknesses

No CWEs

Credits