Lucene search

K
githubGitHub Advisory DatabaseGHSA-5PV8-PPVJ-4H68
HistoryMay 13, 2021 - 8:23 p.m.

Prevent user enumeration using Guard or the new Authenticator-based Security

2021-05-1320:23:02
CWE-200
CWE-203
GitHub Advisory Database
github.com
42
user enumeration prevention
authenticator-based security
timing attack
403 error
patch available

CVSS2

5

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:N/C:P/I:N/A:N

CVSS3

5.3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

EPSS

0.001

Percentile

47.8%

Description

The ability to enumerate users was possible without relevant permissions due to different exception messages depending on whether the user existed or not. It was also possible to enumerate users by using a timing attack, by comparing time elapsed when authenticating an existing user and authenticating a non-existing user.

Resolution

We now ensure that 403s are returned whether the user exists or not if the password is invalid or if the user does not exist.

The patch for this issue is available here for branch 3.4.

Credits

I would like to thank James Isaac and Mathias Brodala for reporting the issue and Robin Chalas for fixing the issue.

Affected configurations

Vulners
Node
symfonysymfonyRange<5.2.9
OR
symfonysymfonyRange<4.4.24
OR
symfonysymfonyRange<3.4.49
OR
symfonysecurityRange<4.4.24
OR
symfonysecurityRange<3.4.49
OR
symfonysecurity_httpRange<5.2.8
OR
symfonymaker_bundleRange<1.31.1
OR
symfonymaker_bundleRange<1.29.2
OR
lexikjwt-authentication-bundleRange<2.11.3
OR
lexikjwt-authentication-bundleRange<2.10.7
OR
symfonysecurity_coreRange<5.2.8
OR
symfonysecurity_coreRange<4.4.23
OR
symfonysecurity_coreRange<3.4.48
OR
symfonysecurity_guardRange<5.2.8
OR
symfonysecurity_guardRange<4.4.23
OR
symfonysecurity_guardRange<3.4.48
OR
symfonysecurityRange<5.2.8
VendorProductVersionCPE
symfonysymfony*cpe:2.3:a:symfony:symfony:*:*:*:*:*:*:*:*
symfonysecurity*cpe:2.3:a:symfony:security:*:*:*:*:*:*:*:*
symfonysecurity_http*cpe:2.3:a:symfony:security_http:*:*:*:*:*:*:*:*
symfonymaker_bundle*cpe:2.3:a:symfony:maker_bundle:*:*:*:*:*:*:*:*
lexikjwt-authentication-bundle*cpe:2.3:a:lexik:jwt-authentication-bundle:*:*:*:*:*:*:*:*
symfonysecurity_core*cpe:2.3:a:symfony:security_core:*:*:*:*:*:*:*:*
symfonysecurity_guard*cpe:2.3:a:symfony:security_guard:*:*:*:*:*:*:*:*

References

CVSS2

5

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:N/C:P/I:N/A:N

CVSS3

5.3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

LOW

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

EPSS

0.001

Percentile

47.8%