mirror of
https://github.com/fkie-cad/nvd-json-data-feeds.git
synced 2025-05-28 09:11:28 +00:00
109 lines
5.9 KiB
JSON
109 lines
5.9 KiB
JSON
{
|
|
"id": "CVE-2023-46253",
|
|
"sourceIdentifier": "security-advisories@github.com",
|
|
"published": "2023-11-07T19:15:12.213",
|
|
"lastModified": "2024-11-21T08:28:10.573",
|
|
"vulnStatus": "Modified",
|
|
"cveTags": [],
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "Squidex is an open source headless CMS and content management hub. Affected versions are subject to an arbitrary file write vulnerability in the backup restore feature which allows an authenticated attacker to gain remote code execution (RCE). Squidex allows users with the `squidex.admin.restore` permission to create and restore backups. Part of these backups are the assets uploaded to an App. For each asset, the backup zip archive contains a `.asset` file with the actual content of the asset as well as a related `AssetCreatedEventV2` event, which is stored in a JSON file. Amongst other things, the JSON file contains the event type (`AssetCreatedEventV2`), the ID of the asset (`46c05041-9588-4179-b5eb-ddfcd9463e1e`), its filename (`test.txt`), and its file version (`0`). When a backup with this event is restored, the `BackupAssets.ReadAssetAsync` method is responsible for re-creating the asset. For this purpose, it determines the name of the `.asset` file in the zip archive, reads its content, and stores the content in the filestore. When the asset is stored in the filestore via the UploadAsync method, the assetId and fileVersion are passed as arguments. These are further passed to the method GetFileName, which determines the filename where the asset should be stored. The assetId is inserted into the filename without any sanitization and an attacker with squidex.admin.restore privileges to run arbitrary operating system commands on the underlying server (RCE)."
|
|
},
|
|
{
|
|
"lang": "es",
|
|
"value": "Squidex es un centro de gesti\u00f3n de contenidos y CMS headless de c\u00f3digo abierto. Las versiones afectadas est\u00e1n sujetas a una vulnerabilidad de escritura de archivos arbitraria en la funci\u00f3n de restauraci\u00f3n de copias de seguridad que permite a un atacante autenticado obtener la ejecuci\u00f3n remota de c\u00f3digo (RCE). Squidex permite a los usuarios con el permiso `squidex.admin.restore` crear y restaurar copias de seguridad. Parte de estas copias de seguridad son los activos cargados en una aplicaci\u00f3n. Para cada activo, el archivo zip de respaldo contiene un archivo `.asset` con el contenido real del activo, as\u00ed como un evento `AssetCreatedEventV2` relacionado, que se almacena en un archivo JSON. Entre otras cosas, el archivo JSON contiene el tipo de evento (`AssetCreatedEventV2`), el ID del activo (`46c05041-9588-4179-b5eb-ddfcd9463e1e`), su nombre de archivo (`test.txt`) y su versi\u00f3n del archivo. (`0`). Cuando se restaura una copia de seguridad con este evento, el m\u00e9todo `BackupAssets.ReadAssetAsync` es responsable de recrear el activo. Para ello, determina el nombre del archivo `.asset` en el archivo zip, lee su contenido y lo almacena en el almac\u00e9n de archivos. Cuando el activo se almacena en el almac\u00e9n de archivos mediante el m\u00e9todo UploadAsync, el ID del activo y la versi\u00f3n del archivo se pasan como argumentos. Estos se pasan al m\u00e9todo GetFileName, que determina el nombre del archivo donde se debe almacenar el activo. El assetId se inserta en el nombre del archivo sin ning\u00fan tipo de sanitizaci\u00f3n y un atacante con privilegios squidex.admin.restore para ejecutar comandos arbitrarios del sistema operativo en el servidor subyacente (RCE)."
|
|
}
|
|
],
|
|
"metrics": {
|
|
"cvssMetricV31": [
|
|
{
|
|
"source": "security-advisories@github.com",
|
|
"type": "Secondary",
|
|
"cvssData": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H",
|
|
"baseScore": 9.1,
|
|
"baseSeverity": "CRITICAL",
|
|
"attackVector": "NETWORK",
|
|
"attackComplexity": "LOW",
|
|
"privilegesRequired": "HIGH",
|
|
"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:H/UI:N/S:U/C:H/I:H/A:H",
|
|
"baseScore": 7.2,
|
|
"baseSeverity": "HIGH",
|
|
"attackVector": "NETWORK",
|
|
"attackComplexity": "LOW",
|
|
"privilegesRequired": "HIGH",
|
|
"userInteraction": "NONE",
|
|
"scope": "UNCHANGED",
|
|
"confidentialityImpact": "HIGH",
|
|
"integrityImpact": "HIGH",
|
|
"availabilityImpact": "HIGH"
|
|
},
|
|
"exploitabilityScore": 1.2,
|
|
"impactScore": 5.9
|
|
}
|
|
]
|
|
},
|
|
"weaknesses": [
|
|
{
|
|
"source": "security-advisories@github.com",
|
|
"type": "Primary",
|
|
"description": [
|
|
{
|
|
"lang": "en",
|
|
"value": "CWE-22"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"configurations": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:a:squidex.io:squidex:7.8.2:*:*:*:*:*:*:*",
|
|
"matchCriteriaId": "583031EC-994B-4E77-992B-9B2367142172"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://github.com/Squidex/squidex/security/advisories/GHSA-phqq-8g7v-3pg5",
|
|
"source": "security-advisories@github.com",
|
|
"tags": [
|
|
"Exploit",
|
|
"Vendor Advisory"
|
|
]
|
|
},
|
|
{
|
|
"url": "https://github.com/Squidex/squidex/security/advisories/GHSA-phqq-8g7v-3pg5",
|
|
"source": "af854a3a-2127-422b-91ae-364da2661108",
|
|
"tags": [
|
|
"Exploit",
|
|
"Vendor Advisory"
|
|
]
|
|
}
|
|
]
|
|
} |