www.belgium.be Logo of the federal government

Contournement du mécanisme de protection de désérialisation de PHP Phar

Référence: 
Advisory #2019-012
Version: 
1.0
Logiciels concernés : 
Drupal 8.7 < 8.7.1
Drupal 8.6 < 8.6.16
Drupal 7 < 7.67
Typo3 2 < 2.1.1
Typo3 3 < 3.1.1
Joomla < 3.9.3 - 3.9.5
Type: 
Exécution de code arbitraire
CVE/CVSS: 

CVE-2019-11831 - CVE Score: 9.8

Sources

https://nvd.nist.gov/vuln/detail/CVE-2019-11831#VulnChangeHistorySection
https://threatpost.com/drupal-typo3-joomla-phar-flaw/144526/
https://www.securityweek.com/phar-vulnerabilities-patched-drupal-typo3

Risques

Un acteur malveillant peut contourner le mécanisme de protection de désérialisation du PHP PharStreamWrapper en utilisant une méthode de « directory traversal ». Il peut de cette manière exécuter du code malveillant via un fichier phar spécialement conçu.

Description

Les développeurs utilisant PHP peuvent utiliser Phar (PHP Archive) pour distribuer leur projet : cette fonctionnalité déplace tous les fichiers dans une seule archive.

PharStreamWrapper peut être abusé pour exécuter du code arbitraire. Un mécanisme de protection a été mis en place mais il ne vérifie pas le "directory traversal" tel que phar:////path/bad.phar/../good.phar.

Actions recommandées

CERT.be recommande aux administrateurs système de mettre à jour leurs systèmes vers la plus récente version disponible :

  • Drupal version 8.7.1
  • Drupal version 8.6.16
  • Drupal version 7.67

https://www.drupal.org/sa-core-2019-007
 

  • Typo3 version 2.1.1
  • Typo3 version 3.1.1

https://typo3.org/article/typo3-956-and-8725-security-releases-published/
 

  • Joomla version 3.9.6

https://developer.joomla.org/security-centre/781-%2020190502-core-by-passing-protection-of-phar-stream-wrapper-interceptor.html