CVE-2023-48643 (GCVE-0-2023-48643)
Vulnerability from cvelistv5 – Published: 2024-05-16 16:14 – Updated: 2025-02-13 15:46
VLAI
EPSS
VEX
Summary
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 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.
Severity
9.8 (Critical)
SSVC
Exploitation: poc
Automatable: yes
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
- n/a
- CWE-94 - Improper Control of Generation of Code ('Code Injection')
Assigner
References
1 reference
Impacted products
3 products
| Vendor | Product | Version | |
|---|---|---|---|
| shrubbery | tac_plus_2x |
Affected:
0 , ≤ f_4.0.4.28
(custom)
cpe:2.3:a:shrubbery:tac_plus_2x:*:*:*:*:*:*:*:* |
|
| shrubbery | tac_plus_3x |
Affected:
0 , ≤ f_4.0.4.28
(custom)
cpe:2.3:a:shrubbery:tac_plus_3x:*:*:*:*:*:*:*:* |
|
| shrubbery | tac_plus_4x |
Affected:
0 , ≤ f_4.0.4.28
(custom)
cpe:2.3:a:shrubbery:tac_plus_4x:*:*:*:*:*:*:*:* |
{
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-02T21:37:54.509Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://github.com/takeshixx/tac_plus-pre-auth-rce"
}
],
"title": "CVE Program Container"
},
{
"affected": [
{
"cpes": [
"cpe:2.3:a:shrubbery:tac_plus_2x:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "tac_plus_2x",
"vendor": "shrubbery",
"versions": [
{
"lessThanOrEqual": "f_4.0.4.28",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"cpes": [
"cpe:2.3:a:shrubbery:tac_plus_3x:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "tac_plus_3x",
"vendor": "shrubbery",
"versions": [
{
"lessThanOrEqual": "f_4.0.4.28",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
},
{
"cpes": [
"cpe:2.3:a:shrubbery:tac_plus_4x:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "tac_plus_4x",
"vendor": "shrubbery",
"versions": [
{
"lessThanOrEqual": "f_4.0.4.28",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
},
{
"other": {
"content": {
"id": "CVE-2023-48643",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-08-20T15:59:52.293639Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-94",
"description": "CWE-94 Improper Control of Generation of Code (\u0027Code Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-08-20T16:07:45.689Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "n/a",
"vendor": "n/a",
"versions": [
{
"status": "affected",
"version": "n/a"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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 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\u0027s fork."
}
],
"problemTypes": [
{
"descriptions": [
{
"description": "n/a",
"lang": "en",
"type": "text"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-05-16T16:14:01.444Z",
"orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"shortName": "mitre"
},
"references": [
{
"url": "https://github.com/takeshixx/tac_plus-pre-auth-rce"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
"assignerShortName": "mitre",
"cveId": "CVE-2023-48643",
"datePublished": "2024-05-16T16:14:01.041Z",
"dateReserved": "2023-11-17T00:00:00.000Z",
"dateUpdated": "2025-02-13T15:46:57.167Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2023-48643",
"date": "2026-07-16",
"epss": "0.01096",
"percentile": "0.61818"
},
"fkie_nvd": {
"descriptions": "[{\"lang\": \"en\", \"value\": \"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 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\u0027s fork.\"}, {\"lang\": \"es\", \"value\": \"Shrubbery tac_plus 2.x, 3.x. y 4.x hasta F4.0.4.28 permite la ejecuci\\u00f3n de comandos remotos no autenticados. El producto permite a los usuarios configurar comprobaciones de autorizaci\\u00f3n como comandos de shell a trav\\u00e9s del archivo de configuraci\\u00f3n tac_plus.cfg. Estos se ejecutan cuando un cliente env\\u00eda una solicitud de autorizaci\\u00f3n con un nombre de usuario que tiene directivas de autorizaci\\u00f3n previa configuradas. Sin embargo, es posible inyectar comandos adicionales en estas comprobaciones porque las cadenas de los paquetes TACACS+ se utilizan como argumentos de la l\\u00ednea de comandos. Si la instalaci\\u00f3n carece de un secreto previamente compartido (no hay ning\\u00fan secreto previamente compartido de forma predeterminada), entonces la inyecci\\u00f3n se puede activar sin autenticaci\\u00f3n. (El atacante necesita conocer un nombre de usuario configurado para usar un comando de autorizaci\\u00f3n previa). NOTA: esto est\\u00e1 relacionado con CVE-2023-45239, pero el problema est\\u00e1 en el producto Shrubbery original, no en la bifurcaci\\u00f3n de Meta.\"}]",
"id": "CVE-2023-48643",
"lastModified": "2024-11-21T08:32:10.197",
"metrics": "{\"cvssMetricV31\": [{\"source\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"type\": \"Secondary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\", \"baseScore\": 9.8, \"baseSeverity\": \"CRITICAL\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 3.9, \"impactScore\": 5.9}]}",
"published": "2024-05-16T16:15:08.437",
"references": "[{\"url\": \"https://github.com/takeshixx/tac_plus-pre-auth-rce\", \"source\": \"cve@mitre.org\"}, {\"url\": \"https://github.com/takeshixx/tac_plus-pre-auth-rce\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}]",
"sourceIdentifier": "cve@mitre.org",
"vulnStatus": "Awaiting Analysis",
"weaknesses": "[{\"source\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"type\": \"Secondary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-94\"}]}]"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2023-48643\",\"sourceIdentifier\":\"cve@mitre.org\",\"published\":\"2024-05-16T16:15:08.437\",\"lastModified\":\"2026-06-17T06:34:41.163\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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 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\u0027s fork.\"},{\"lang\":\"es\",\"value\":\"Shrubbery tac_plus 2.x, 3.x. y 4.x hasta F4.0.4.28 permite la ejecuci\u00f3n de comandos remotos no autenticados. El producto permite a los usuarios configurar comprobaciones de autorizaci\u00f3n como comandos de shell a trav\u00e9s del archivo de configuraci\u00f3n tac_plus.cfg. Estos se ejecutan cuando un cliente env\u00eda una solicitud de autorizaci\u00f3n con un nombre de usuario que tiene directivas de autorizaci\u00f3n previa configuradas. Sin embargo, es posible inyectar comandos adicionales en estas comprobaciones porque las cadenas de los paquetes TACACS+ se utilizan como argumentos de la l\u00ednea de comandos. Si la instalaci\u00f3n carece de un secreto previamente compartido (no hay ning\u00fan secreto previamente compartido de forma predeterminada), entonces la inyecci\u00f3n se puede activar sin autenticaci\u00f3n. (El atacante necesita conocer un nombre de usuario configurado para usar un comando de autorizaci\u00f3n previa). NOTA: esto est\u00e1 relacionado con CVE-2023-45239, pero el problema est\u00e1 en el producto Shrubbery original, no en la bifurcaci\u00f3n de Meta.\"}],\"affected\":[{\"source\":\"cve@mitre.org\",\"affectedData\":[{\"vendor\":\"n/a\",\"product\":\"n/a\",\"versions\":[{\"version\":\"n/a\",\"status\":\"affected\"}]}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"affectedData\":[{\"vendor\":\"shrubbery\",\"product\":\"tac_plus_2x\",\"defaultStatus\":\"unknown\",\"cpes\":[\"cpe:2.3:a:shrubbery:tac_plus_2x:*:*:*:*:*:*:*:*\"],\"versions\":[{\"version\":\"0\",\"lessThanOrEqual\":\"f_4.0.4.28\",\"versionType\":\"custom\",\"status\":\"affected\"}]},{\"vendor\":\"shrubbery\",\"product\":\"tac_plus_3x\",\"defaultStatus\":\"unknown\",\"cpes\":[\"cpe:2.3:a:shrubbery:tac_plus_3x:*:*:*:*:*:*:*:*\"],\"versions\":[{\"version\":\"0\",\"lessThanOrEqual\":\"f_4.0.4.28\",\"versionType\":\"custom\",\"status\":\"affected\"}]},{\"vendor\":\"shrubbery\",\"product\":\"tac_plus_4x\",\"defaultStatus\":\"unknown\",\"cpes\":[\"cpe:2.3:a:shrubbery:tac_plus_4x:*:*:*:*:*:*:*:*\"],\"versions\":[{\"version\":\"0\",\"lessThanOrEqual\":\"f_4.0.4.28\",\"versionType\":\"custom\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-08-20T15:59:52.293639Z\",\"id\":\"CVE-2023-48643\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"yes\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-94\"}]}],\"references\":[{\"url\":\"https://github.com/takeshixx/tac_plus-pre-auth-rce\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://github.com/takeshixx/tac_plus-pre-auth-rce\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
"redhat_vex": {
"current_release_date": "2025-05-29T01:03:52+00:00",
"cve": "CVE-2023-48643",
"id": "CVE-2023-48643",
"initial_release_date": "2023-01-01T00:00:00+00:00",
"product_status:known_not_affected": "1",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "CVE-2023-48643",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-48643.json",
"version": "3"
},
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://github.com/takeshixx/tac_plus-pre-auth-rce\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T21:37:54.509Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 9.8, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2023-48643\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"yes\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-08-20T15:59:52.293639Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:shrubbery:tac_plus_2x:*:*:*:*:*:*:*:*\"], \"vendor\": \"shrubbery\", \"product\": \"tac_plus_2x\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"custom\", \"lessThanOrEqual\": \"f_4.0.4.28\"}], \"defaultStatus\": \"unknown\"}, {\"cpes\": [\"cpe:2.3:a:shrubbery:tac_plus_3x:*:*:*:*:*:*:*:*\"], \"vendor\": \"shrubbery\", \"product\": \"tac_plus_3x\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"custom\", \"lessThanOrEqual\": \"f_4.0.4.28\"}], \"defaultStatus\": \"unknown\"}, {\"cpes\": [\"cpe:2.3:a:shrubbery:tac_plus_4x:*:*:*:*:*:*:*:*\"], \"vendor\": \"shrubbery\", \"product\": \"tac_plus_4x\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"custom\", \"lessThanOrEqual\": \"f_4.0.4.28\"}], \"defaultStatus\": \"unknown\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-94\", \"description\": \"CWE-94 Improper Control of Generation of Code (\u0027Code Injection\u0027)\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-08-20T16:04:44.722Z\"}}], \"cna\": {\"affected\": [{\"vendor\": \"n/a\", \"product\": \"n/a\", \"versions\": [{\"status\": \"affected\", \"version\": \"n/a\"}]}], \"references\": [{\"url\": \"https://github.com/takeshixx/tac_plus-pre-auth-rce\"}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"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 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\u0027s fork.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"text\", \"description\": \"n/a\"}]}], \"providerMetadata\": {\"orgId\": \"8254265b-2729-46b6-b9e3-3dfca2d5bfca\", \"shortName\": \"mitre\", \"dateUpdated\": \"2024-05-16T16:14:01.444Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2023-48643\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-02-13T15:46:57.167Z\", \"dateReserved\": \"2023-11-17T00:00:00.000Z\", \"assignerOrgId\": \"8254265b-2729-46b6-b9e3-3dfca2d5bfca\", \"datePublished\": \"2024-05-16T16:14:01.041Z\", \"assignerShortName\": \"mitre\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…