CVE-2023-48643
Published: 16 May 2024
Summary
CVE-2023-48643 is a critical-severity Code Injection (CWE-94) vulnerability. Its CVSS base score is 9.8 (Critical).
Operationally, ranked in the top 8.2% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Deeper analysis
Shrubbery tac_plus versions 2.x, 3.x, and 4.x through F4.0.4.28 contain a command injection vulnerability that permits unauthenticated remote code execution. The software supports configuring authorization checks as shell commands in tac_plus.cfg, which are invoked on authorization requests for specific usernames. Because TACACS+ packet fields are passed directly as command-line arguments without sanitization, an attacker can supply additional shell commands. The issue is exacerbated when no pre-shared secret is configured, the default state, and is distinct from the related flaw in Meta's tac_plus fork tracked as CVE-2023-45239.
An unauthenticated remote attacker who knows a username with pre-authorization directives can send a crafted TACACS+ authorization packet to execute arbitrary commands on the server. Successful exploitation grants full control over the affected host, including the ability to read, modify, or delete data and to pivot further into the network, consistent with the CVSS 9.8 rating reflecting network-accessible attack with no required credentials or user interaction.
Public references point to proof-of-concept material hosted at https://github.com/takeshixx/tac_plus-pre-auth-rce, but no vendor advisory or official patch information is included in the supplied references. The EPSS score rose from a low baseline to a recorded peak of 0.0911, indicating emerging exploitation interest after disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-52693
Vulnerability details
Shrubbery tac_plus 2.x, 3.x. and 4.x through F4.0.4.28 allows unauthenticated Remote Command Execution. The product allows users to configure authorization checks as shell commands through the tac_plus.cfg configuration file. These are executed when a client sends an authorization request with…
more
a username that has pre-authorization directives configured. However, it is possible to inject additional commands into these checks because strings from TACACS+ packets are used as command-line arguments. If the installation lacks a a pre-shared secret (there is no pre-shared secret by default), then the injection can be triggered without authentication. (The attacker needs to know a username configured to use a pre-authorization command.) NOTE: this is related to CVE-2023-45239 but the issue is in the original Shrubbery product, not Meta's fork.
- 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.
Makes persistent code injection into loaded programs impossible when the executable image itself resides on hardware-protected read-only media.
Dynamically generated code can be produced and executed inside the isolated chamber, preventing host compromise from code-injection payloads.
Validates inputs used in dynamic code generation to block injected directives.
Directly prevents execution of attacker-supplied code written into data memory regions.