164 lines
6.4 KiB
JSON
Raw Normal View History

{
"id": "CVE-2024-31994",
"sourceIdentifier": "security-advisories@github.com",
"published": "2024-04-19T22:15:07.747",
"lastModified": "2025-03-07T12:48:22.150",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Mealie is a self hosted recipe manager and meal planner. Prior to 1.4.0, an attacker can point the image request to an arbitrarily large file. Mealie will attempt to retrieve this file in whole. If it can be retrieved, it may be stored on the file system in whole (leading to possible disk consumption), however the more likely scenario given resource limitations is that the container will OOM during file retrieval if the target file size is greater than the allocated memory of the container. At best this can be used to force the container to infinitely restart due to OOM (if so configured in `docker-compose.yml), or at worst this can be used to force the Mealie container to crash and remain offline. In the event that the file can be retrieved, the lack of rate limiting on this endpoint also permits an attacker to generate ongoing requests to any target of their choice, potentially contributing to an external-facing DoS attack. This vulnerability is fixed in 1.4.0."
},
{
"lang": "es",
"value": "Mealie es un administrador de recetas y planificador de comidas aut\u00f3nomo. Antes de la versi\u00f3n 1.4.0, un atacante pod\u00eda dirigir la solicitud de imagen a un archivo arbitrariamente grande. Mealie intentar\u00e1 recuperar este archivo en su totalidad. Si se puede recuperar, se puede almacenar en el sistema de archivos en su totalidad (lo que lleva a un posible consumo de disco); sin embargo, el escenario m\u00e1s probable dadas las limitaciones de recursos es que el contenedor haga OOM durante la recuperaci\u00f3n del archivo si el tama\u00f1o del archivo de destino es mayor que el memoria asignada del contenedor. En el mejor de los casos, esto se puede usar para forzar que el contenedor se reinicie infinitamente debido a OOM (si as\u00ed est\u00e1 configurado en `docker-compose.yml), o en el peor de los casos, esto se puede usar para forzar que el contenedor Mealie se bloquee y permanezca fuera de l\u00ednea. En caso de que se pueda recuperar el archivo, la falta de limitaci\u00f3n de velocidad en este endpoint tambi\u00e9n permite a un atacante generar solicitudes continuas a cualquier objetivo de su elecci\u00f3n, lo que podr\u00eda contribuir a un ataque DoS externo. Esta vulnerabilidad se solucion\u00f3 en 1.4.0."
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "security-advisories@github.com",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.0,
"impactScore": 4.0
},
{
"source": "nvd@nist.gov",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.0,
"impactScore": 4.0
}
]
},
"weaknesses": [
{
"source": "security-advisories@github.com",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-400"
}
]
},
{
"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:a:mealie:mealie:*:*:*:*:*:*:*:*",
"versionEndExcluding": "1.4.0",
"matchCriteriaId": "176FB8C0-1317-46C1-A470-EAC757778773"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/mealie-recipes/mealie/blob/ee121a12f8db33ecb4db5f8582f7ea9788d019e4/mealie/services/recipe/recipe_data_service.py#L107",
"source": "security-advisories@github.com",
"tags": [
"Product"
]
},
{
"url": "https://github.com/mealie-recipes/mealie/commit/2a3463b7466bc297aede50046da9550d919ec56f",
"source": "security-advisories@github.com",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/mealie-recipes/mealie/pull/3368",
"source": "security-advisories@github.com",
"tags": [
"Issue Tracking",
"Patch"
]
},
{
"url": "https://securitylab.github.com/advisories/GHSL-2023-225_GHSL-2023-226_Mealie/",
"source": "security-advisories@github.com",
"tags": [
"Third Party Advisory",
"Exploit"
]
},
{
"url": "https://github.com/mealie-recipes/mealie/blob/ee121a12f8db33ecb4db5f8582f7ea9788d019e4/mealie/services/recipe/recipe_data_service.py#L107",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Product"
]
},
{
"url": "https://github.com/mealie-recipes/mealie/commit/2a3463b7466bc297aede50046da9550d919ec56f",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/mealie-recipes/mealie/pull/3368",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Issue Tracking",
"Patch"
]
},
{
"url": "https://securitylab.github.com/advisories/GHSL-2023-225_GHSL-2023-226_Mealie/",
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Third Party Advisory",
"Exploit"
]
}
]
}