9.8 CVE-2024-11680
CISA Kev Catalog Patch Exploit
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Remote, unauthenticated attackers can exploit this flaw by sending crafted HTTP requests to options.php, enabling unauthorized modification of the application's configuration. Successful exploitation allows attackers to create accounts, upload webshells, and embed malicious JavaScript.
https://nvd.nist.gov/vuln/detail/CVE-2024-11680
Categories
CWE-287 : Improper Authentication
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct. An alternate term is "authentification", which appears to be most commonly used by people from non-English-speaking countries. "AuthN" is typically used as an abbreviation of "authentication" within the web application security community. It is also distinct from "AuthZ," which is an abbreviation of "authorization." The use of "Auth" as an abbreviation is discouraged, since it could be used for either authentication or authorization. "AuthC" is used as an abbreviation of "authentication," but it appears to used less frequently than "AuthN." Use an authentication framework or library such as the OWASP ESAPI Authentication feature. Chat application skips validation when Central Authentication Service(CAS) is enabled, effectively removing the second factor fromtwo-factor authentication Python-based authentication proxy does not enforce password authentication during the initial handshake, allowing the client to bypass authentication by specifying a 'None' authentication type. Chain: Web UI for a Python RPC framework does not use regex anchors to validate user login emails (CWE-777), potentially allowing bypass of OAuth (CWE-1390). TCP-based protocol in Programmable Logic Controller (PLC) has no authentication. Condition Monitor uses a protocol that does not require authentication. Safety Instrumented System uses proprietary TCP protocols with no authentication. Distributed Control System (DCS) uses a protocol that has no authentication. SCADA system only uses client-side authentication, allowing adversaries to impersonate other users. Chain: Python-based HTTP Proxy server uses the wrong boolean operators (CWE-480) causing an incorrect comparison (CWE-697) that identifies an authN failure if all three conditions are met instead of only one, allowing bypass of the proxy authentication (CWE-1390) Chain: Cloud computing virtualization platform does not require authentication for upload of a tar format file (CWE-306), then uses .. path traversal sequences (CWE-23) in the file to access unexpected files, as exploited in the wild per CISA KEV. IT management product does not perform authentication for some REST API requests, as exploited in the wild per CISA KEV. Firmware for a WiFi router uses a hard-coded password for a BusyBox shell, allowing bypass of authentication through the UART port Bluetooth speaker does not require authentication for the debug functionality on the UART port, allowing root shell access Default setting in workflow management product allows all API requests without authentication, as exploited in the wild per CISA KEV. Stack-based buffer overflows in SFK for wifi chipset used for IoT/embedded devices, as exploited in the wild per CISA KEV. Mail server does not properly check an access token before executing a Powershell command, as exploited in the wild per CISA KEV. Chain: user is not prompted for a second authentication factor (CWE-287) when changing the case of their username (CWE-178), as exploited in the wild per CISA KEV. Authentication bypass by appending specific parameters and values to a URI, as exploited in the wild per CISA KEV. Mail server does not generate a unique key during installation, as exploited in the wild per CISA KEV. LDAP Go package allows authentication bypass using an empty password, causing an unauthenticated LDAP bind login script for guestbook allows bypassing authentication by setting a "login_ok" parameter to 1. admin script allows authentication bypass by setting a cookie value to "LOGGEDIN". VOIP product allows authentication bypass using 127.0.0.1 in the Host header. product uses default "Allow" action, instead of default deny, leading to authentication bypass. chain: redirect without exit (CWE-698) leads to resultant authentication bypass. product does not restrict access to a listening port for a critical service, allowing authentication to be bypassed. product does not properly implement a security-related configuration setting, allowing authentication bypass. authentication routine returns "nil" instead of "false" in some situations, allowing authentication bypass using an invalid username. authentication update script does not properly handle when admin does not select any authentication modules, allowing authentication bypass. use of LDAP authentication with anonymous binds causes empty password to result in successful authentication product authentication succeeds if user-provided MD5 hash matches the hash in its database; this can be subjected to replay attacks. chain: product generates predictable MD5 hashes using a constant value combined with username, allowing authentication bypass.
CWE-863 : Incorrect Authorization
The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. "AuthZ" is typically used as an abbreviation of "authorization" within the web application security community. It is distinct from "AuthN" (or, sometimes, "AuthC") which is an abbreviation of "authentication." The use of "Auth" as an abbreviation is discouraged, since it could be used for either authentication or authorization. Automated dynamic analysis may not be able to find interfaces that are protected by authorization checks, even if those checks contain weaknesses. Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7]. Use the access control capabilities of your operating system and server environment and define your access control lists accordingly. Use a "default deny" policy when defining these ACLs. Chain: A microservice integration and management platform compares the hostname in the HTTP Host header in a case-sensitive way (CWE-178, CWE-1289), allowing bypass of the authorization policy (CWE-863) using a hostname with mixed case or other variations. Chain: sscanf() call is used to check if a username and group exists, but the return value of sscanf() call is not checked (CWE-252), causing an uninitialized variable to be checked (CWE-457), returning success to allow authorization bypass for executing a privileged (CWE-863). Gateway uses default "Allow" configuration for its authorization settings. Chain: product does not properly interpret a configuration option for a system group, allowing users to gain privileges. Chain: SNMP product does not properly parse a configuration option for which hosts are allowed to connect, allowing unauthorized IP addresses to connect. Chain: reliance on client-side security (CWE-602) allows attackers to bypass authorization using a custom client. Chain: product does not properly handle wildcards in an authorization policy list, allowing unintended access. ACL-based protection mechanism treats negative access rights as if they are positive, allowing bypass of intended restrictions. Product relies on the X-Forwarded-For HTTP header for authorization, allowing unintended access by spoofing the header. Chain: file-system code performs an incorrect comparison (CWE-697), preventing default ACLs from being properly applied. Chain: product does not properly check the result of a reverse DNS lookup because of operator precedence (CWE-783), allowing bypass of DNS-based access restrictions.
References
disclosure@vulncheck.com Patch Exploit
https://github.com/projectdiscovery/nuclei-templates/blob/main/http/vulnerabi... Third Party Advisory |
https://github.com/projectsend/projectsend/commit/193367d937b1a59ed5b68dd4e60... Patch |
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/l... Exploit |
https://vulncheck.com/advisories/projectsend-bypass Third Party Advisory |
https://www.synacktiv.com/sites/default/files/2024-07/synacktiv-projectsend-m... Mitigation Technical Description Third Party Advisory |
CPE
cpe | start | end |
---|---|---|
Configuration 1 | ||
cpe:2.3:a:projectsend:projectsend:*:*:*:*:*:*:*:* | < r1720 |
REMEDIATION
Patch
Url |
---|
https://github.com/projectsend/projectsend/commit/193367d937b1a59ed5b68dd4e60... |
EXPLOITS
Exploit-db.com
id | description | date | |
---|---|---|---|
No known exploits |
POC Github
Url |
---|
No known exploits |
Other Nist (github, ...)
Url |
---|
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/l... |
CAPEC
Common Attack Pattern Enumerations and Classifications
id | description | severity |
---|---|---|
114 | Authentication Abuse |
Medium |
115 | Authentication Bypass |
Medium |
151 | Identity Spoofing |
Medium |
194 | Fake the Source of Data |
Medium |
22 | Exploiting Trust in Client |
High |
57 | Utilizing REST's Trust in the System Resource to Obtain Sensitive Data |
Very High |
593 | Session Hijacking |
Very High |
633 | Token Impersonation |
Medium |
650 | Upload a Web Shell to a Web Server |
High |
94 | Adversary in the Middle (AiTM) |
Very High |
MITRE
Techniques
id | description |
---|---|
T1040 | Network Sniffing |
T1134 | Access Token Manipulation |
T1185 | Browser Session Hijacking |
T1505.003 | Server Software Component:Web Shell |
T1548 | Abuse Elevation Control Mechanism |
T1550.001 | Use Alternate Authentication Material:Application Access Token |
T1557 | Adversary-in-the-Middle |
T1563 | Remote Service Session Hijacking |
© 2022 The MITRE Corporation. This work is reproduced and distributed with the permission of The MITRE Corporation. |
Mitigations
id | description |
---|---|
T1040 | In cloud environments, ensure that users are not granted permissions to create or modify traffic mirrors unless this is explicitly required. |
T1134 | An adversary must already have administrator level access on the local system to make full use of this technique; be sure to restrict users and accounts to the least privileges they require. |
T1185 | Close all browser sessions regularly and when they are no longer needed. |
T1505.003 | Enforce the principle of least privilege by limiting privileges of user accounts so only authorized accounts can modify the web directory. |
T1548 | Limit the privileges of cloud accounts to assume, create, or impersonate additional roles, policies, and permissions to only those required. Where just-in-time access is enabled, consider requiring manual approval for temporary elevation of privileges. |
T1550.001 | Update corporate policies to restrict what types of third-party applications may be added to any online service or tool that is linked to the company's information, accounts or network (e.g., Google, Microsoft, Dropbox, Basecamp, GitHub). However, rather than providing high-level guidance on this, be extremely specific—include a list of per-approved applications and deny all others not on the list. Administrators may also block end-user consent through administrative portals, such as the Azure Portal, disabling users from authorizing third-party apps through OAuth and forcing administrative consent. |
T1557 | Train users to be suspicious about certificate errors. Adversaries may use their own certificates in an attempt to intercept HTTPS traffic. Certificate errors may arise when the application’s certificate does not match the one expected by the host. |
T1563 | Limit remote user permissions if remote access is necessary. |
© 2022 The MITRE Corporation. Esta obra se reproduce y distribuye con el permiso de The MITRE Corporation. |
Cybersecurity needs ?
Strengthen software security from the outset with our DevSecOps expertise
Integrate security right from the start of the software development cycle for more robust applications and greater customer confidence.
Our team of DevSecOps experts can help you secure your APIs, data pipelines, CI/CD chains, Docker containers and Kubernetes deployments.