GHSA-hcw2-2r9c-gc6p

Source
https://github.com/advisories/GHSA-hcw2-2r9c-gc6p
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/04/GHSA-hcw2-2r9c-gc6p/GHSA-hcw2-2r9c-gc6p.json
Aliases
Published
2024-04-01T15:48:15Z
Modified
2024-04-03T18:59:29Z
Details

Summary

The Casa OS Login page has disclosed the username enumeration vulnerability in the login page which was patched in CasaOS v0.4.7.

Details

It is observed that the attacker can enumerate the CasaOS username using the application response. If the username is incorrect the application gives the error "User does not exist" with success code "10006", If the password is incorrect the application gives the error "User does not exist or password is invalid" with success code "10013".

PoC

  1. If the Username is invalid application gives "User does not exist" with success code "10006".

1

  1. If the Password is invalid application gives "User does not exist or password is invalid" with success code "10013".

2

Impact

Using this error attacker can enumerate the username of CasaOS.

The logic behind the issue

The logic behind the issue If the username is incorrect, then throw an error "User does not exist" with success code "10006", else throw an error "User does not exist or password is invalid" with success code "10013".

This condition can be vice versa like:

If the password is incorrect, then throw an error "User does not exist or password is invalid" with success code "10013", else throw an error "User does not exist" with success code "10006".

Mitigation

Since this is the condition we have to implement a single error which can be "Username/Password is Incorrect!!!" with single success code.

References

Affected packages

Go / github.com/IceWhaleTech/CasaOS-UserService

Affected ranges

Type
SEMVER
Events
Introduced
0.4.7
Fixed
0.4.8

Affected versions

0.*

0.4.7