CVE Details for CVE: CVE-2021-31646
Summary
Gestsup before 3.2.10 allows account takeover through the password recovery functionality (remote). The affected component is the file forgot_pwd.php - it uses a weak algorithm for the generation of password recovery tokens (the PHP uniqueid function), allowing a brute force attack.
Timestamps
Last major update 04-05-2021 - 00:32
Published 26-04-2021 - 19:15
Last modified 04-05-2021 - 00:32
Vulnerable Configurations
  • cpe:2.3:a:gestsup:gestsup:3.1.15:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.15:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.16:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.16:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.17:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.17:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.18:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.18:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.19:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.19:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.20:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.20:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.21:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.21:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.22:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.22:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.23:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.23:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.24:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.24:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.25:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.25:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.26:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.26:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.27:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.27:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.28:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.28:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.29:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.29:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.30:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.30:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.31:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.31:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.32:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.32:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.33:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.33:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.34:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.34:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.35:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.35:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.36:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.36:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.37:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.37:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.38:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.38:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.39:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.39:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.40:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.40:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.41:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.41:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.42:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.42:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.43:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.43:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.44:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.44:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.45:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.45:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.46:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.46:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.47:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.47:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.48:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.48:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.49:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.49:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.1.50:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.1.50:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.3:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.3:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.4:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.4:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.5:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.5:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.6:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.6:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.7:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.7:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.8:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.8:*:*:*:*:*:*:*
  • cpe:2.3:a:gestsup:gestsup:3.2.9:*:*:*:*:*:*:*
    cpe:2.3:a:gestsup:gestsup:3.2.9:*:*:*:*:*:*:*
CAPEC
Click the CAPEC title to display a description
  • In this attack, the adversary tries every possible value for a password until they succeed. A brute force attack, if feasible computationally, will always be successful because it will essentially go through all possible passwords given the alphabet used (lower case letters, upper case letters, numbers, symbols, etc.) and the maximum length of the password. A system will be particularly vulnerable to this type of an attack if it does not have a proper enforcement mechanism in place to ensure that passwords selected by users are strong passwords that comply with an adequate password policy. In practice a pure brute force attack on passwords is rarely used, unless the password is suspected to be weak. Other password cracking methods exist that are far more effective (e.g. dictionary attacks, rainbow tables, etc.). Knowing the password policy on the system can make a brute force attack more efficient. For instance, if the policy states that all passwords must be of a certain level, there is no need to check smaller candidates.
  • In a Password Spraying attack, an adversary tries a small list (e.g. 3-5) of common or expected passwords, often matching the target's complexity policy, against a known list of user accounts to gain valid credentials. The adversary tries a particular password for each user account, before moving onto the next password in the list. This approach assists the adversary in remaining undetected by avoiding rapid or frequent account lockouts. The adversary may then reattempt the process with additional passwords, once enough time has passed to prevent inducing a lockout. Password Spraying attacks often target management services over commonly used ports such as SSH, FTP, Telnet, LDAP, Kerberos, MySQL, and more. Additional targets include Single Sign-On (SSO) or cloud-based applications/services that utilize federated authentication protocols, and externally facing applications. Successful execution of Password Spraying attacks usually lead to lateral movement within the target, which allows the adversary to impersonate the victim or execute any action that the victim is authorized to perform. If the password chosen by the user is commonly used or easily guessed, this attack will be successful (in the absence of other mitigations). This is a specific instance of the password brute forcing attack pattern. Password Spraying Attacks are similar to Dictionary-based Password Attacks (CAPEC-16) in that they both leverage precompiled lists (i.e. dictionaries) of username/password combinations to try against a system/application. The primary difference is that Password Spraying Attacks leverage a known list of user accounts and only try one password for each account before moving onto the next password. In contrast, Dictionary-based Password Attacks leverage unknown username/password combinations and are often executed offline against files containing hashed credentials, where inducing an account lockout is not a concern. Password Spraying Attacks are also similar to Credential Stuffing attacks (CAPEC-600), since both utilize known user accounts and often attack the same targets. Credential Stuffing attacks, however, leverage known username/password combinations, whereas Password Spraying attacks have no insight into known username/password pairs. If a Password Spraying attack succeeds, it may additionally lead to Credential Stuffing attacks on different targets.
  • An adversary guesses or obtains (i.e. steals or purchases) legitimate Windows domain credentials (e.g. userID/password) to achieve authentication and to perform authorized actions on the domain, under the guise of an authenticated user or service. Attacks leveraging trusted Windows credentials typically result in the adversary laterally moving within the local Windows network, since users are often allowed to login to systems/applications within the domain using their Windows domain password. This domain authentication can occur directly (user typing in their password or PIN) or via Single Sign-On (SSO) or cloud-based authentication, which often don't verify the authenticity of the user's input. Known credentials are usually obtained by an adversary via a system/application breach and/or by purchasing dumps of credentials on the dark web. These credentials may be further gleaned via exposed configuration and properties files that contain system passwords, database connection strings, and other sensitive data. Utilizing known Windows credentials, an adversary can obtain sensitive data from administrator shares, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more. Ultimately, successful spoofing and impersonation of trusted credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application.
  • An attacker tries each of the words in a dictionary as passwords to gain access to the system via some user's account. If the password chosen by the user was a word within the dictionary, this attack will be successful (in the absence of other mitigations). This is a specific instance of the password brute forcing attack pattern. Dictionary Attacks differ from similar attacks such as Password Spraying (CAPEC-565) and Credential Stuffing (CAPEC-600), since they leverage unknown username/password combinations and don't care about inducing account lockouts.
  • An adversary guesses or obtains (i.e. steals or purchases) legitimate credentials (e.g. userID/password) to achieve authentication and to perform authorized actions under the guise of an authenticated user or service. Attacks leveraging trusted credentials typically result in the adversary laterally moving within the local network, since users are often allowed to login to systems/applications within the network using the same password. This further allows the adversary to obtain sensitive data, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more. Attacks on known passwords generally rely on the primary fact that users often reuse the same username/password combination for a variety of systems, applications, and services, coupled with poor password policies on the target system or application. Adversaries can also utilize known passwords to target Single Sign On (SSO) or cloud-based applications and services, which often don't verify the authenticity of the user's input. Known credentials are usually obtained by an adversary via a system/application breach and/or by purchasing dumps of credentials on the dark web. These credentials may be further gleaned via exposed configuration and properties files that contain system passwords, database connection strings, and other sensitive data. Successful spoofing and impersonation of trusted credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application.
  • An adversary tries known username/password combinations against different systems, applications, or services to gain additional authenticated access. Credential Stuffing attacks rely upon the fact that many users leverage the same username/password combination for multiple systems, applications, and services. Attacks of this kind often target management services over commonly used ports such as SSH, FTP, Telnet, LDAP, Kerberos, MySQL, and more. Additional targets include Single Sign-On (SSO) or cloud-based applications/services that utilize federated authentication protocols, and externally facing applications. The primary goal of Credential Stuffing is to achieve lateral movement and gain authenticated access to additional systems, applications, and/or services. A successfully executed Credential Stuffing attack could result in the adversary impersonating the victim or executing any action that the victim is authorized to perform. If the password obtained by the adversary is used for multiple systems, accounts, and/or services, this attack will be successful (in the absence of other mitigations). Although not technically a brute force attack, Credential Stuffing attacks can function as such if an adversary possess multiple known passwords for the same user account. This may occur in the event where an adversary obtains user credentials from multiple sources or if the adversary obtains a user's password history for an account. Credential Stuffing attacks are similar to Password Spraying attacks (CAPEC-565) regarding their targets and their overall goals. However, Password Spraying attacks do not have any insight into known username/password combinations and instead leverage common or expected passwords. This also means that Password Spraying attacks must avoid inducing account lockouts, which is generally not a worry of Credential Stuffing attacks. Password Spraying attacks may additionally lead to Credential Stuffing attacks, once a successful username/password combination is discovered.
  • An adversary obtains (i.e. steals or purchases) legitimate Kerberos credentials (e.g. Kerberos service account userID/password or Kerberos Tickets) with the goal of achieving authenticated access to additional systems, applications, or services within the domain. Kerberos is the default authentication method for Windows domains and is utilized for numerous authentication purposes. Attacks leveraging trusted Kerberos credentials can result in numerous consequences, depending on what Kerberos credential is stolen. For example, Kerberos service accounts are typically used to run services or scheduled tasks pertaining to authentication. However, these credentials are often weak and never expire, in addition to possessing local or domain administrator privileges. If an adversary is able to acquire these credentials, it could result in lateral movement within the Windows domain or access to any resources the service account is privileged to access, among other things. Kerberos credentials can be obtained by an adversary via methods such as system breaches, network sniffing attacks, and/or brute force attacks against the Kerberos service account or the hash of a service ticket. Ultimately, successful spoofing and impersonation of trusted Kerberos credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application.
CWE
CVSS
Base
7.5
Impact
6.4
Exploitability
10.0
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
PARTIAL PARTIAL PARTIAL
CVSS3
Base
9.8
Impact
5.9
Exploitability
3.9
Access
Attack ComplexityAttack vectorPrivileges RequiredScopeUser Interaction
LOW NETWORK NONE UNCHANGED NONE
Impact
ConfidentialityIntegrityAvailability
HIGH HIGH HIGH
VIA4 references
cvss-vector via4
AV:N/AC:L/Au:N/C:P/I:P/A:P
cvss3-vector via4
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H