CVE-2023-43632 (GCVE-0-2023-43632)
Vulnerability from cvelistv5
Published
2023-09-21 13:13
Modified
2024-09-24 17:09
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-789 - Memory Allocation with Excessive Size Value
Summary
As noted in the “VTPM.md” file in the eve documentation, “VTPM is a server listening on port
8877 in EVE, exposing limited functionality of the TPM to the clients.
VTPM allows clients to
execute tpm2-tools binaries from a list of hardcoded options”
The communication with this server is done using protobuf, and the data is comprised of 2
parts:
1. Header
2. Data
When a connection is made, the server is waiting for 4 bytes of data, which will be the header,
and these 4 bytes would be parsed as uint32 size of the actual data to come.
Then, in the function “handleRequest” this size is then used in order to allocate a payload on
the stack for the incoming data.
As this payload is allocated on the stack, this will allow overflowing the stack size allocated for
the relevant process with freely controlled data.
* An attacker can crash the system.
* An attacker can gain control over the system, specifically on the “vtpm_server” process
which has very high privileges.
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
LF-Edge, Zededa | EVE OS |
Version: 3.0.0 |
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-02T19:44:43.555Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_transferred" ], "url": "https://asrg.io/security-advisories/cve-2023-43632/" } ], "title": "CVE Program Container" }, { "affected": [ { "cpes": [ "cpe:2.3:o:lfedge:eve:*:*:*:*:*:*:*:*" ], "defaultStatus": "unknown", "product": "eve", "vendor": "lfedge", "versions": [ { "lessThan": "9.5.0", "status": "affected", "version": "3.0.0", "versionType": "custom" } ] } ], "metrics": [ { "other": { "content": { "id": "CVE-2023-43632", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "total" } ], "role": "CISA Coordinator", "timestamp": "2024-09-24T17:07:47.768091Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2024-09-24T17:09:26.069Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "packageName": "EVE OS", "product": "EVE OS", "programFiles": [ "https://github.com/lf-edge/eve/tree/master/pkg/vtpm/src/server.cpp" ], "repo": "https://github.com/lf-edge/eve", "vendor": " LF-Edge, Zededa", "versions": [ { "lessThan": "9.5.0", "status": "affected", "version": "3.0.0", "versionType": "release" } ] } ], "credits": [ { "lang": "en", "type": "finder", "user": "00000000-0000-4000-9000-000000000000", "value": "Ilay Levi" } ], "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "\n\nAs noted in the \u201cVTPM.md\u201d file in the eve documentation, \u201cVTPM is a server listening on port\n8877 in EVE, exposing limited functionality of the TPM to the clients. \u003cbr\u003eVTPM allows clients to\nexecute tpm2-tools binaries from a list of hardcoded options\u201d\nThe communication with this server is done using protobuf, and the data is comprised of 2\nparts:\n\u003cbr\u003e1. Header\n\u003cbr\u003e2. Data\n\u003cbr\u003eWhen a connection is made, the server is waiting for 4 bytes of data, which will be the header,\nand these 4 bytes would be parsed as uint32 size of the actual data to come.\n\u003cbr\u003eThen, in the function \u201chandleRequest\u201d this size is then used in order to allocate a payload on\nthe stack for the incoming data.\n\u003cbr\u003eAs this payload is allocated on the stack, this will allow overflowing the stack size allocated for\nthe relevant process with freely controlled data.\u003cbr\u003e\u003cbr\u003e* An attacker can crash the system. \u003cbr\u003e* An attacker can gain control over the system, specifically on the \u201cvtpm_server\u201d process\nwhich has very high privileges.\n\n\u003cbr\u003e" } ], "value": "\nAs noted in the \u201cVTPM.md\u201d file in the eve documentation, \u201cVTPM is a server listening on port\n8877 in EVE, exposing limited functionality of the TPM to the clients. \nVTPM allows clients to\nexecute tpm2-tools binaries from a list of hardcoded options\u201d\nThe communication with this server is done using protobuf, and the data is comprised of 2\nparts:\n\n1. Header\n\n2. Data\n\nWhen a connection is made, the server is waiting for 4 bytes of data, which will be the header,\nand these 4 bytes would be parsed as uint32 size of the actual data to come.\n\nThen, in the function \u201chandleRequest\u201d this size is then used in order to allocate a payload on\nthe stack for the incoming data.\n\nAs this payload is allocated on the stack, this will allow overflowing the stack size allocated for\nthe relevant process with freely controlled data.\n\n* An attacker can crash the system. \n* An attacker can gain control over the system, specifically on the \u201cvtpm_server\u201d process\nwhich has very high privileges.\n\n\n" } ], "impacts": [ { "capecId": "CAPEC-100", "descriptions": [ { "lang": "en", "value": "CAPEC-100 Overflow Buffers" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "ADJACENT_NETWORK", "availabilityImpact": "HIGH", "baseScore": 9, "baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "CHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H", "version": "3.1" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-789", "description": "CWE-789 Memory Allocation with Excessive Size Value", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2023-09-28T05:40:23.793Z", "orgId": "c15abc07-96a9-4d11-a503-5d621bfe42ba", "shortName": "ASRG" }, "references": [ { "url": "https://asrg.io/security-advisories/cve-2023-43632/" } ], "source": { "discovery": "UNKNOWN" }, "title": "Freely Allocate Buffer on The Stack With Data From Socket", "x_generator": { "engine": "Vulnogram 0.1.0-dev" } } }, "cveMetadata": { "assignerOrgId": "c15abc07-96a9-4d11-a503-5d621bfe42ba", "assignerShortName": "ASRG", "cveId": "CVE-2023-43632", "datePublished": "2023-09-21T13:13:30.579Z", "dateReserved": "2023-09-20T14:34:14.874Z", "dateUpdated": "2024-09-24T17:09:26.069Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2023-43632\",\"sourceIdentifier\":\"cve@asrg.io\",\"published\":\"2023-09-21T14:15:11.157\",\"lastModified\":\"2024-11-21T08:24:30.490\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"\\nAs noted in the \u201cVTPM.md\u201d file in the eve documentation, \u201cVTPM is a server listening on port\\n8877 in EVE, exposing limited functionality of the TPM to the clients. \\nVTPM allows clients to\\nexecute tpm2-tools binaries from a list of hardcoded options\u201d\\nThe communication with this server is done using protobuf, and the data is comprised of 2\\nparts:\\n\\n1. Header\\n\\n2. Data\\n\\nWhen a connection is made, the server is waiting for 4 bytes of data, which will be the header,\\nand these 4 bytes would be parsed as uint32 size of the actual data to come.\\n\\nThen, in the function \u201chandleRequest\u201d this size is then used in order to allocate a payload on\\nthe stack for the incoming data.\\n\\nAs this payload is allocated on the stack, this will allow overflowing the stack size allocated for\\nthe relevant process with freely controlled data.\\n\\n* An attacker can crash the system. \\n* An attacker can gain control over the system, specifically on the \u201cvtpm_server\u201d process\\nwhich has very high privileges.\\n\\n\\n\"},{\"lang\":\"es\",\"value\":\"Como se indica en el archivo \u201cVTPM.md\u201d en la documentaci\u00f3n de eve, \u201cVTPM es un servidor que escucha en el puerto 8877 en EVE, lo que expone la funcionalidad limitada del TPM a los clientes. VTPM permite a los clientes ejecutar binarios de tpm2-tools a partir de una lista de opciones codificadas. La comunicaci\u00f3n con este servidor se realiza mediante protobuf y los datos se componen de 2 partes: 1. Encabezado 2. Datos Cuando se realiza una conexi\u00f3n, el servidor esperando 4 bytes de datos, que ser\u00e1n el encabezado, y estos 4 bytes se analizar\u00e1n como el tama\u00f1o uint32 de los datos reales siguientes. Luego, en la funci\u00f3n \\\"\\\"handleRequest\\\"\\\", este tama\u00f1o se usa para asignar un payload en memoria para los datos entrantes. A medida que este payload se asigna en la memoria, esto permitir\u00e1 desbordar el tama\u00f1o asignado para el proceso relevante con datos libremente controlados. \\n* Un atacante puede bloquear el sistema. \\n* Un atacante puede obtener control sobre el sistema, espec\u00edficamente sobre el proceso \\\"\\\"vtpm_server\\\"\\\", que tiene privilegios muy altos.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"cve@asrg.io\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":9.0,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"ADJACENT_NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.3,\"impactScore\":6.0},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":9.9,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.1,\"impactScore\":6.0}]},\"weaknesses\":[{\"source\":\"cve@asrg.io\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-789\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-770\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linuxfoundation:edge_virtualization_engine:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"3.0.0\",\"versionEndExcluding\":\"9.5.0\",\"matchCriteriaId\":\"108D8437-2504-4234-803D-D7BD1657346C\"}]}]}],\"references\":[{\"url\":\"https://asrg.io/security-advisories/cve-2023-43632/\",\"source\":\"cve@asrg.io\"},{\"url\":\"https://asrg.io/security-advisories/cve-2023-43632/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}", "vulnrichment": { "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://asrg.io/security-advisories/cve-2023-43632/\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T19:44:43.555Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2023-43632\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-24T17:07:47.768091Z\"}}}], \"affected\": [{\"cpes\": [\"cpe:2.3:o:lfedge:eve:*:*:*:*:*:*:*:*\"], \"vendor\": \"lfedge\", \"product\": \"eve\", \"versions\": [{\"status\": \"affected\", \"version\": \"3.0.0\", \"lessThan\": \"9.5.0\", \"versionType\": \"custom\"}], \"defaultStatus\": \"unknown\"}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-24T17:09:22.610Z\"}}], \"cna\": {\"title\": \"Freely Allocate Buffer on The Stack With Data From Socket\", \"source\": {\"discovery\": \"UNKNOWN\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"user\": \"00000000-0000-4000-9000-000000000000\", \"value\": \"Ilay Levi\"}], \"impacts\": [{\"capecId\": \"CAPEC-100\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-100 Overflow Buffers\"}]}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 9, \"attackVector\": \"ADJACENT_NETWORK\", \"baseSeverity\": \"CRITICAL\", \"vectorString\": \"CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"repo\": \"https://github.com/lf-edge/eve\", \"vendor\": \" LF-Edge, Zededa\", \"product\": \"EVE OS\", \"versions\": [{\"status\": \"affected\", \"version\": \"3.0.0\", \"lessThan\": \"9.5.0\", \"versionType\": \"release\"}], \"packageName\": \"EVE OS\", \"programFiles\": [\"https://github.com/lf-edge/eve/tree/master/pkg/vtpm/src/server.cpp\"], \"defaultStatus\": \"unaffected\"}], \"references\": [{\"url\": \"https://asrg.io/security-advisories/cve-2023-43632/\"}], \"x_generator\": {\"engine\": \"Vulnogram 0.1.0-dev\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"\\nAs noted in the \\u201cVTPM.md\\u201d file in the eve documentation, \\u201cVTPM is a server listening on port\\n8877 in EVE, exposing limited functionality of the TPM to the clients. \\nVTPM allows clients to\\nexecute tpm2-tools binaries from a list of hardcoded options\\u201d\\nThe communication with this server is done using protobuf, and the data is comprised of 2\\nparts:\\n\\n1. Header\\n\\n2. Data\\n\\nWhen a connection is made, the server is waiting for 4 bytes of data, which will be the header,\\nand these 4 bytes would be parsed as uint32 size of the actual data to come.\\n\\nThen, in the function \\u201chandleRequest\\u201d this size is then used in order to allocate a payload on\\nthe stack for the incoming data.\\n\\nAs this payload is allocated on the stack, this will allow overflowing the stack size allocated for\\nthe relevant process with freely controlled data.\\n\\n* An attacker can crash the system. \\n* An attacker can gain control over the system, specifically on the \\u201cvtpm_server\\u201d process\\nwhich has very high privileges.\\n\\n\\n\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\\n\\nAs noted in the \\u201cVTPM.md\\u201d file in the eve documentation, \\u201cVTPM is a server listening on port\\n8877 in EVE, exposing limited functionality of the TPM to the clients. \u003cbr\u003eVTPM allows clients to\\nexecute tpm2-tools binaries from a list of hardcoded options\\u201d\\nThe communication with this server is done using protobuf, and the data is comprised of 2\\nparts:\\n\u003cbr\u003e1. Header\\n\u003cbr\u003e2. Data\\n\u003cbr\u003eWhen a connection is made, the server is waiting for 4 bytes of data, which will be the header,\\nand these 4 bytes would be parsed as uint32 size of the actual data to come.\\n\u003cbr\u003eThen, in the function \\u201chandleRequest\\u201d this size is then used in order to allocate a payload on\\nthe stack for the incoming data.\\n\u003cbr\u003eAs this payload is allocated on the stack, this will allow overflowing the stack size allocated for\\nthe relevant process with freely controlled data.\u003cbr\u003e\u003cbr\u003e* An attacker can crash the system. \u003cbr\u003e* An attacker can gain control over the system, specifically on the \\u201cvtpm_server\\u201d process\\nwhich has very high privileges.\\n\\n\u003cbr\u003e\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-789\", \"description\": \"CWE-789 Memory Allocation with Excessive Size Value\"}]}], \"providerMetadata\": {\"orgId\": \"c15abc07-96a9-4d11-a503-5d621bfe42ba\", \"shortName\": \"ASRG\", \"dateUpdated\": \"2023-09-28T05:40:23.793Z\"}}}", "cveMetadata": "{\"cveId\": \"CVE-2023-43632\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2024-09-24T17:09:26.069Z\", \"dateReserved\": \"2023-09-20T14:34:14.874Z\", \"assignerOrgId\": \"c15abc07-96a9-4d11-a503-5d621bfe42ba\", \"datePublished\": \"2023-09-21T13:13:30.579Z\", \"assignerShortName\": \"ASRG\"}", "dataType": "CVE_RECORD", "dataVersion": "5.1" } } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…