CERTA-2008-ALE-002
Vulnerability from certfr_alerte - Published: - Updated:
Une vulnérabilité dans Joomla! permet d'exécuter du code arbitraire à distance.
Description
Un mécanisme dans Joomla!, appelé RG_EMULATION, permet de contourner le paramétrage de la variable register_globals dans le fichier de configuration de PHP. Lorsque la variable RG_EMULATION est positionnée à 1 dans le fichier configuration.php (à la racine de Joomla!), il est possible d'exécuter du code arbitraire à distance sur le serveur.
Dans les versions de Joomla! antérieures à 1.0.11, la variable RG_EMULATION était définie dans le fichier globals.php. Une évolution de Joomla! d'une version antérieure à 1.0.11 vers la version 1.0.11 ou supérieure entraîne la suppression de la définition de la variable RG_EMULATION. Lorsque la variable RG_EMULATION n'est pas du tout définie dans le fichier configuration.php, celle-ci est positionnée par défaut à 1, ce qui permet l'exécution de code arbitraire à distance.
Contournement provisoire
Il existe plusieurs contournements provisoires :
-
dans le fichier configuration.php, vérifier que la variable RG_EMULATION est positionnée à 0. Si elle n'est pas définie, ajouter la ligne :
$RG_EMULATION = '0'; -
changer le comportement par défaut de Joomla! lorsque la variable RG_EMULATION n'est pas définie, en remplaçant 1 par 0 dans la ligne 27 du fichier globals.php ;
-
migrer vers la branche 1.5 de Joomla! ou utiliser un autre gestionnaire de contenu.
Solution
Mettre à jour en version 1.0.15.
Toutes les versions de Joomla! de la branche 1.0 depuis la version 1.0.11.
| Vendor | Product | Description |
|---|
| Title | Publication Time | Tags | ||||||
|---|---|---|---|---|---|---|---|---|
|
||||||||
{
"$ref": "https://www.cert.ssi.gouv.fr/openapi.json",
"affected_systems": [],
"affected_systems_content": "\u003cP\u003eToutes les versions de \u003cSPAN class=\"textit\"\u003eJoomla!\u003c/SPAN\u003e de la branche 1.0 depuis la version 1.0.11.\u003c/P\u003e",
"closed_at": "2008-02-25",
"content": "## Description\n\nUn m\u00e9canisme dans Joomla!, appel\u00e9 RG_EMULATION, permet de contourner le\nparam\u00e9trage de la variable register_globals dans le fichier de\nconfiguration de PHP. Lorsque la variable RG_EMULATION est positionn\u00e9e \u00e0\n1 dans le fichier configuration.php (\u00e0 la racine de Joomla!), il est\npossible d\u0027ex\u00e9cuter du code arbitraire \u00e0 distance sur le serveur.\n\nDans les versions de Joomla! ant\u00e9rieures \u00e0 1.0.11, la variable\nRG_EMULATION \u00e9tait d\u00e9finie dans le fichier globals.php. Une \u00e9volution de\nJoomla! d\u0027une version ant\u00e9rieure \u00e0 1.0.11 vers la version 1.0.11 ou\nsup\u00e9rieure entra\u00eene la suppression de la d\u00e9finition de la variable\nRG_EMULATION. Lorsque la variable RG_EMULATION n\u0027est pas du tout d\u00e9finie\ndans le fichier configuration.php, celle-ci est positionn\u00e9e par d\u00e9faut \u00e0\n1, ce qui permet l\u0027ex\u00e9cution de code arbitraire \u00e0 distance.\n\n## Contournement provisoire\n\nIl existe plusieurs contournements provisoires :\n\n- dans le fichier configuration.php, v\u00e9rifier que la variable\n RG_EMULATION est positionn\u00e9e \u00e0 0. Si elle n\u0027est pas d\u00e9finie, ajouter\n la ligne :\n\n `$RG_EMULATION = \u00270\u0027;`\n\n- changer le comportement par d\u00e9faut de Joomla! lorsque la variable\n RG_EMULATION n\u0027est pas d\u00e9finie, en rempla\u00e7ant 1 par 0 dans la ligne\n 27 du fichier globals.php ;\n\n- migrer vers la branche 1.5 de Joomla! ou utiliser un autre\n gestionnaire de contenu.\n\n## Solution\n\nMettre \u00e0 jour en version 1.0.15.\n",
"cves": [],
"links": [
{
"title": "Site de Joomla! :",
"url": "http://www.joomla.org/"
}
],
"reference": "CERTA-2008-ALE-002",
"revisions": [
{
"description": "version initiale.",
"revision_date": "2008-01-14T00:00:00.000000"
},
{
"description": "ajout des sections Solution et Documentation.",
"revision_date": "2008-02-25T00:00:00.000000"
}
],
"risks": [
{
"description": "Ex\u00e9cution de code arbitraire \u00e0 distance"
},
{
"description": "Contournement de la politique de s\u00e9curit\u00e9"
}
],
"summary": "Une vuln\u00e9rabilit\u00e9 dans \u003cspan class=\"textit\"\u003eJoomla!\u003c/span\u003e permet\nd\u0027ex\u00e9cuter du code arbitraire \u00e0 distance.\n",
"title": "Vuln\u00e9rabilit\u00e9 dans Joomla!",
"vendor_advisories": [
{
"published_at": null,
"title": "CERTA",
"url": "http://www.certa.ssi.gouv.fr/site/CERTA-2008-AVI-104/"
}
]
}
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.