CVE-2024-2746
Incomplete fix for CVE-2024-1929
The problem with CVE-2024-1929 was that the dnf5 D-Bus daemon accepted arbitrary configuration parameters from unprivileged users, which allowed a local root exploit by tricking the daemon into loading a user controlled "plugin". All of this happened before Polkit authentication was even started.
The dnf5 library code does not check whether non-root users control the directory in question.
On one hand, this poses a Denial-of-Service attack vector by making the daemonoperate on a blocking file (e.g. named FIFO special file) or a very large file that causes an out-of-memory situation (e.g. /dev/zero).
Leer descripción completaMostrar menos
On the other hand, this can be used to let the daemon process privileged files like /etc/shadow. The file in question is parsed as an INI file. Error diagnostics resulting from parsing privileged files could cause information leaks, if these diagnostics are accessible to unprivileged users. In the case of libdnf5, no such user accessible diagnostics should exist, though.
Also, a local attacker can place a valid repository configuration file in this directory. This configuration file allows to specify a plethora of additional configuration options. This makes various additional code paths in libdnf5 accessible to the attacker.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Puntuación base: 8.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.21%
- Percentil entre todas las CVEs puntuadas: 11
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (2)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-20
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2024-2746",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2024-2746",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2024-05-08T14:43:25.427605Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "secalert@redhat.com",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/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"
},
"impactScore": 6,
"exploitabilityScore": 2
}
]
},
"affected": [
{
"source": "secalert@redhat.com",
"affectedData": [
{
"vendor": "Fedora",
"product": "dnf5daemon-server",
"versions": [
{
"status": "affected",
"version": "5.1.16"
}
],
"platforms": [
"Linux"
],
"defaultStatus": "unaffected"
}
]
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"affectedData": [
{
"cpes": [
"cpe:2.3:a:fedora:dnf5daemon-server:*:*:*:*:*:*:*:*"
],
"vendor": "fedora",
"product": "dnf5daemon-server",
"versions": [
{
"status": "affected",
"version": "5.1.16",
"lessThan": "5.1.17",
"versionType": "custom"
}
],
"defaultStatus": "unknown"
}
]
}
],
"published": "2024-05-08T02:15:09.677",
"references": [
{
"url": "https://www.openwall.com/lists/oss-security/2024/04/03/5",
"source": "secalert@redhat.com"
},
{
"url": "https://www.openwall.com/lists/oss-security/2024/04/03/5",
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "secalert@redhat.com",
"description": [
{
"lang": "en",
"value": "CWE-20"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Incomplete fix for CVE-2024-1929\n\nThe problem with CVE-2024-1929 was that the dnf5 D-Bus daemon accepted arbitrary configuration parameters from unprivileged users, which allowed a\nlocal root exploit by tricking the daemon into loading a user controlled \"plugin\". All of this happened before Polkit authentication was even started.\n\nThe dnf5 library code does not check whether non-root users control the directory in question. \n\nOn one hand, this poses a Denial-of-Service attack vector by making the daemonoperate on a blocking file (e.g. named FIFO special file) or a very large file\nthat causes an out-of-memory situation (e.g. /dev/zero). On the other hand, this can be used to let the daemon process privileged files like /etc/shadow.\nThe file in question is parsed as an INI file. Error diagnostics resulting from parsing privileged files could cause information leaks, if these diagnostics\nare accessible to unprivileged users. In the case of libdnf5, no such user accessible diagnostics should exist, though.\n\nAlso, a local attacker can place a valid repository configuration file in this directory. This configuration file allows to specify\na plethora of additional configuration options. This makes various additional code paths in libdnf5 accessible to the attacker."
},
{
"lang": "es",
"value": "Solución incompleta para CVE-2024-1929 El problema con CVE-2024-1929 era que el daemon dnf5 D-Bus aceptaba parámetros de configuración arbitrarios de usuarios sin privilegios, lo que permitía un exploit de raíz local engañando al daemon para que cargara un \"complemento\" controlado por el usuario. Todo esto sucedió incluso antes de que se iniciara la autenticación Polkit. El código de la librería dnf5 no comprueba si los usuarios no root controlan el directorio en cuestión. Por un lado, esto plantea un vector de ataque de denegación de servicio al hacer que el daemon opere en un archivo de bloqueo (por ejemplo, un archivo especial llamado FIFO) o un archivo muy grande que causa una situación de falta de memoria (por ejemplo, /dev/zero). Por otro lado, esto se puede utilizar para permitir que el daemon procese archivos privilegiados como /etc/shadow. El archivo en cuestión se analiza como un archivo INI. Los diagnósticos de errores resultantes del análisis de archivos privilegiados podrían causar fugas de información, si estos diagnósticos son accesibles para usuarios sin privilegios. Sin embargo, en el caso de libdnf5, no debería existir ningún diagnóstico accesible para el usuario. Además, un atacante local puede colocar un archivo de configuración de repositorio válido en este directorio. Este archivo de configuración permite especificar una gran cantidad de opciones de configuración adicionales. Esto hace que el atacante pueda acceder a varias rutas de código adicionales en libdnf5."
}
],
"lastModified": "2026-06-17T07:25:27.930",
"sourceIdentifier": "secalert@redhat.com"
}