CVE-2023-30846
Published: 26 April 2023
Summary
CVE-2023-30846 is a critical-severity Insufficiently Protected Credentials (CWE-522) vulnerability in Microsoft Typed-Rest-Client. Its CVSS base score is 9.1 (Critical).
Operationally, ranked in the top 7.1% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
typed-rest-client is a Node.js library that provides REST and HTTP client functionality along with TypeScript typings. Versions 1.7.3 and earlier contain a credential-handling flaw (CWE-522) in the BasicCredentialHandler, BearerCredentialHandler, and PersonalAccessTokenCredentialHandler classes. When any of these handlers issues a request and the server responds with a 3xx redirect, the library follows the redirect and includes the original Authorization header on the subsequent request to the new host, contrary to expected behavior.
An unauthenticated remote attacker who can induce a victim client to issue a request against a controlled or compromised endpoint can obtain the leaked credentials by returning a redirect to a server under their control. Successful exploitation results in disclosure of authentication material that may allow further access to the original target service or other resources protected by the same token or password, producing a CVSS 9.1 impact on confidentiality and integrity.
The project’s security advisory GHSA-558p-m34m-vpmq and the associated commit f9ff755631b982ee1303dfc3e3c823d0d31233e8 state that the issue is resolved in version 1.8.0; no workarounds are documented. A NetApp advisory (NTAP-20230601-0008) references the same upstream fix for affected products.
EPSS remains flat at 0.0912 with no material increase after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-1200
Vulnerability details
typed-rest-client is a library for Node Rest and Http Clients with typings for use with TypeScript. Users of the typed-rest-client library version 1.7.3 or lower are vulnerable to leak authentication data to 3rd parties. The flow of the vulnerability is…
more
as follows: First, send any request with `BasicCredentialHandler`, `BearerCredentialHandler` or `PersonalAccessTokenCredentialHandler`. Second, the target host may return a redirection (3xx), with a link to a second host. Third, the next request will use the credentials to authenticate with the second host, by setting the `Authorization` header. The expected behavior is that the next request will *NOT* set the `Authorization` header. The problem was fixed in version 1.8.0. There are no known workarounds.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Training instructs users on protecting credentials from disclosure or unauthorized access.
Training records for security awareness and role-based training verify education on credential protection practices, tangibly reducing risks from mishandling or exposing credentials.
Protecting authenticator content from unauthorized disclosure and modification while requiring protective controls addresses insufficiently protected credentials.
Rules of behavior include credential protection and non-sharing requirements, reducing exposure of insufficiently protected credentials.
Terminating or revoking credentials stops use of insufficiently protected or lingering credentials post-termination.
Requiring confidentiality/integrity protection for stored credentials directly mitigates insufficiently protected credentials on disk or in configuration stores.
Credentials or keys delivered out-of-band are not exposed to interception or inadequate protection on the main transport.