CVE-2024-43804 (GCVE-0-2024-43804)
Vulnerability from cvelistv5 – Published: 2024-08-29 16:45 – Updated: 2024-08-29 17:06
VLAI?
Summary
Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. An OS Command Injection vulnerability allows any authenticated user on the application to execute arbitrary code on the web application server via port scanning functionality. User-supplied input is used without validation when constructing and executing an OS command. User supplied JSON POST data is parsed and if "id" JSON key does not exist, JSON value supplied via "ip" JSON key is assigned to the "ip" variable. Later on, "ip" variable which can be controlled by the attacker is used when constructing the cmd and cmd1 strings without any extra validation. Then, server_mod.subprocess_execute function is called on both cmd1 and cmd2. When the definition of the server_mod.subprocess_execute() function is analyzed, it can be seen that subprocess.Popen() is called on the input parameter with shell=True which results in OS Command Injection. This issue has not yet been patched. Users are advised to contact the Roxy-WI to coordinate a fix.
Severity ?
8.8 (High)
CWE
- CWE-78 - Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Assigner
References
| URL | Tags | ||||
|---|---|---|---|---|---|
|
|||||
{
"containers": {
"adp": [
{
"affected": [
{
"cpes": [
"cpe:2.3:a:roxy-wi:roxy-wi:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unknown",
"product": "roxy-wi",
"vendor": "roxy-wi",
"versions": [
{
"lessThanOrEqual": "8.0",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"metrics": [
{
"other": {
"content": {
"id": "CVE-2024-43804",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-08-29T17:05:43.980826Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-08-29T17:06:50.680Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "roxy-wi",
"vendor": "roxy-wi",
"versions": [
{
"status": "affected",
"version": "\u003c= 8.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. An OS Command Injection vulnerability allows any authenticated user on the application to execute arbitrary code on the web application server via port scanning functionality. User-supplied input is used without validation when constructing and executing an OS command. User supplied JSON POST data is parsed and if \"id\" JSON key does not exist, JSON value supplied via \"ip\" JSON key is assigned to the \"ip\" variable. Later on, \"ip\" variable which can be controlled by the attacker is used when constructing the cmd and cmd1 strings without any extra validation. Then, server_mod.subprocess_execute function is called on both cmd1 and cmd2. When the definition of the server_mod.subprocess_execute() function is analyzed, it can be seen that subprocess.Popen() is called on the input parameter with shell=True which results in OS Command Injection. This issue has not yet been patched. Users are advised to contact the Roxy-WI to coordinate a fix."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-78",
"description": "CWE-78: Improper Neutralization of Special Elements used in an OS Command (\u0027OS Command Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2024-08-29T16:45:05.740Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-qc52-vwwj-5585",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-qc52-vwwj-5585"
}
],
"source": {
"advisory": "GHSA-qc52-vwwj-5585",
"discovery": "UNKNOWN"
},
"title": "OS Command Injection via Port Scan Functionality in Roxy-WI"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2024-43804",
"datePublished": "2024-08-29T16:45:05.740Z",
"dateReserved": "2024-08-16T14:20:37.326Z",
"dateUpdated": "2024-08-29T17:06:50.680Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1",
"vulnerability-lookup:meta": {
"fkie_nvd": {
"configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:roxy-wi:roxy-wi:8.0:*:*:*:*:*:*:*\", \"matchCriteriaId\": \"E92EACAF-6384-4331-8F22-5CF3B2EB4B5E\"}]}]}]",
"descriptions": "[{\"lang\": \"en\", \"value\": \"Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. An OS Command Injection vulnerability allows any authenticated user on the application to execute arbitrary code on the web application server via port scanning functionality. User-supplied input is used without validation when constructing and executing an OS command. User supplied JSON POST data is parsed and if \\\"id\\\" JSON key does not exist, JSON value supplied via \\\"ip\\\" JSON key is assigned to the \\\"ip\\\" variable. Later on, \\\"ip\\\" variable which can be controlled by the attacker is used when constructing the cmd and cmd1 strings without any extra validation. Then, server_mod.subprocess_execute function is called on both cmd1 and cmd2. When the definition of the server_mod.subprocess_execute() function is analyzed, it can be seen that subprocess.Popen() is called on the input parameter with shell=True which results in OS Command Injection. This issue has not yet been patched. Users are advised to contact the Roxy-WI to coordinate a fix.\"}, {\"lang\": \"es\", \"value\": \"Roxy-WI es una interfaz web para administrar servidores Haproxy, Nginx, Apache y Keepalived. Una vulnerabilidad de inyecci\\u00f3n de comandos del sistema operativo permite que cualquier usuario autenticado en la aplicaci\\u00f3n ejecute c\\u00f3digo arbitrario en el servidor de aplicaciones web a trav\\u00e9s de la funcionalidad de escaneo de puertos. La entrada proporcionada por el usuario se utiliza sin validaci\\u00f3n al construir y ejecutar un comando del sistema operativo. Los datos POST JSON proporcionados por el usuario se analizan y si la clave JSON \\\"id\\\" no existe, el valor JSON proporcionado a trav\\u00e9s de la clave JSON \\\"ip\\\" se asigna a la variable \\\"ip\\\". M\\u00e1s adelante, la variable \\\"ip\\\" que puede ser controlada por el atacante se utiliza al construir las cadenas cmd y cmd1 sin ninguna validaci\\u00f3n adicional. Luego, se llama a la funci\\u00f3n server_mod.subprocess_execute tanto en cmd1 como en cmd2. Cuando se analiza la definici\\u00f3n de la funci\\u00f3n server_mod.subprocess_execute(), se puede ver que se llama a subprocess.Popen() en el par\\u00e1metro de entrada con shell=True, lo que da como resultado una inyecci\\u00f3n de comandos del sistema operativo. Este problema a\\u00fan no se ha solucionado. Se recomienda a los usuarios que se pongan en contacto con Roxy-WI para coordinar una soluci\\u00f3n.\"}]",
"id": "CVE-2024-43804",
"lastModified": "2024-09-06T22:57:01.697",
"metrics": "{\"cvssMetricV31\": [{\"source\": \"security-advisories@github.com\", \"type\": \"Secondary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"baseScore\": 8.8, \"baseSeverity\": \"HIGH\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"LOW\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 2.8, \"impactScore\": 5.9}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"baseScore\": 8.8, \"baseSeverity\": \"HIGH\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"LOW\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"HIGH\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"HIGH\"}, \"exploitabilityScore\": 2.8, \"impactScore\": 5.9}]}",
"published": "2024-08-29T17:15:08.193",
"references": "[{\"url\": \"https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-qc52-vwwj-5585\", \"source\": \"security-advisories@github.com\", \"tags\": [\"Exploit\", \"Vendor Advisory\"]}]",
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": "[{\"source\": \"security-advisories@github.com\", \"type\": \"Secondary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-78\"}]}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-78\"}]}]"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2024-43804\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-08-29T17:15:08.193\",\"lastModified\":\"2024-09-06T22:57:01.697\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. An OS Command Injection vulnerability allows any authenticated user on the application to execute arbitrary code on the web application server via port scanning functionality. User-supplied input is used without validation when constructing and executing an OS command. User supplied JSON POST data is parsed and if \\\"id\\\" JSON key does not exist, JSON value supplied via \\\"ip\\\" JSON key is assigned to the \\\"ip\\\" variable. Later on, \\\"ip\\\" variable which can be controlled by the attacker is used when constructing the cmd and cmd1 strings without any extra validation. Then, server_mod.subprocess_execute function is called on both cmd1 and cmd2. When the definition of the server_mod.subprocess_execute() function is analyzed, it can be seen that subprocess.Popen() is called on the input parameter with shell=True which results in OS Command Injection. This issue has not yet been patched. Users are advised to contact the Roxy-WI to coordinate a fix.\"},{\"lang\":\"es\",\"value\":\"Roxy-WI es una interfaz web para administrar servidores Haproxy, Nginx, Apache y Keepalived. Una vulnerabilidad de inyecci\u00f3n de comandos del sistema operativo permite que cualquier usuario autenticado en la aplicaci\u00f3n ejecute c\u00f3digo arbitrario en el servidor de aplicaciones web a trav\u00e9s de la funcionalidad de escaneo de puertos. La entrada proporcionada por el usuario se utiliza sin validaci\u00f3n al construir y ejecutar un comando del sistema operativo. Los datos POST JSON proporcionados por el usuario se analizan y si la clave JSON \\\"id\\\" no existe, el valor JSON proporcionado a trav\u00e9s de la clave JSON \\\"ip\\\" se asigna a la variable \\\"ip\\\". M\u00e1s adelante, la variable \\\"ip\\\" que puede ser controlada por el atacante se utiliza al construir las cadenas cmd y cmd1 sin ninguna validaci\u00f3n adicional. Luego, se llama a la funci\u00f3n server_mod.subprocess_execute tanto en cmd1 como en cmd2. Cuando se analiza la definici\u00f3n de la funci\u00f3n server_mod.subprocess_execute(), se puede ver que se llama a subprocess.Popen() en el par\u00e1metro de entrada con shell=True, lo que da como resultado una inyecci\u00f3n de comandos del sistema operativo. Este problema a\u00fan no se ha solucionado. Se recomienda a los usuarios que se pongan en contacto con Roxy-WI para coordinar una soluci\u00f3n.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":8.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":8.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-78\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-78\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:roxy-wi:roxy-wi:8.0:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"E92EACAF-6384-4331-8F22-5CF3B2EB4B5E\"}]}]}],\"references\":[{\"url\":\"https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-qc52-vwwj-5585\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-43804\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-08-29T17:05:43.980826Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:roxy-wi:roxy-wi:*:*:*:*:*:*:*:*\"], \"vendor\": \"roxy-wi\", \"product\": \"roxy-wi\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"versionType\": \"custom\", \"lessThanOrEqual\": \"8.0\"}], \"defaultStatus\": \"unknown\"}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-08-29T17:06:45.753Z\"}}], \"cna\": {\"title\": \"OS Command Injection via Port Scan Functionality in Roxy-WI\", \"source\": {\"advisory\": \"GHSA-qc52-vwwj-5585\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 8.8, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"roxy-wi\", \"product\": \"roxy-wi\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c= 8.0\"}]}], \"references\": [{\"url\": \"https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-qc52-vwwj-5585\", \"name\": \"https://github.com/roxy-wi/roxy-wi/security/advisories/GHSA-qc52-vwwj-5585\", \"tags\": [\"x_refsource_CONFIRM\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Roxy-WI is a web interface for managing Haproxy, Nginx, Apache and Keepalived servers. An OS Command Injection vulnerability allows any authenticated user on the application to execute arbitrary code on the web application server via port scanning functionality. User-supplied input is used without validation when constructing and executing an OS command. User supplied JSON POST data is parsed and if \\\"id\\\" JSON key does not exist, JSON value supplied via \\\"ip\\\" JSON key is assigned to the \\\"ip\\\" variable. Later on, \\\"ip\\\" variable which can be controlled by the attacker is used when constructing the cmd and cmd1 strings without any extra validation. Then, server_mod.subprocess_execute function is called on both cmd1 and cmd2. When the definition of the server_mod.subprocess_execute() function is analyzed, it can be seen that subprocess.Popen() is called on the input parameter with shell=True which results in OS Command Injection. This issue has not yet been patched. Users are advised to contact the Roxy-WI to coordinate a fix.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-78\", \"description\": \"CWE-78: Improper Neutralization of Special Elements used in an OS Command (\u0027OS Command Injection\u0027)\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2024-08-29T16:45:05.740Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2024-43804\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-08-29T17:06:50.680Z\", \"dateReserved\": \"2024-08-16T14:20:37.326Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2024-08-29T16:45:05.740Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
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…