Aller au contenu

CVE-2025-49113 : RCE par désérialisation PHP non sécurisée dans Roundcube Webmail (upload.php)

HERMES

HERMES THREAT SCORE & EXPOSITION MESSAGERIE D'ENTREPRISE

Cible : Roundcube Webmail (antérieures à 1.5.10 / 1.6.11)
Confiance : 99%
97 / 100
CRITIQUE

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 19 / 20
Activité de menace 20 / 20
Militarisation 20 / 20
Exposition 19 / 20
Prévalence 19 / 20
Impact 20 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 20 / 20
⚖️ Divergence & Justification opérationnelle

Hermes attribue à la CVE-2025-49113 un HTS de 97 (CRITIQUE). Cette vulnérabilité de désérialisation PHP dans le traitement des téléversements de pièces jointes permet à un attaquant disposant d'un compte de messagerie basique d'exécuter des commandes système avec les privilèges www-data, compromettant l'ensemble des boîtes aux lettres de l'entreprise et servant de pivot vers le réseau interne.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2025-49113: Authenticated RCE via PHP Deserialization in Roundcube Webmail (upload.php)VULNÉRABILITÉ

Nœuds connectés : 1
Relations sortantes actives
→ usesTECHNIQUE D'ATTAQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

Preuves vérifiées associées :
ParamètreSpécification techniqueImpact opérationnel
Identifiant CVECVE-2025-49113Référencement officiel NVD / MITRE
CWE associéeCWE-502 : Deserialization of Untrusted DataDésérialisation d’objets PHP non assainis via unserialize()
Score CVSS v3.19.9 CRITIQUECVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Score CVSS v4.09.4 CRITIQUECVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
CPE applicablescpe:2.3:a:roundcube:webmail:*:*:*:*:*:*:*:*
cpe:2.3:a:roundcube:roundcube_webmail:*:*:*:*:*:*:*:*
Serveurs de messagerie web d’entreprise
Versions affectéesVersions < 1.5.10 et branches 1.6.x < 1.6.11Portails Roundcube Webmail en production
Versions corrigées1.5.10 et 1.6.11 (Juin 2025)Correctifs officiels de sécurité Roundcube

  • CISA KEV : inscrite le 20 février 2026 avec directive de remédiation immédiate.
  • Score EPSS : 0.98897 (Percentile : 99.925% — forte activité d’exploitation offensive).
  • Statut opérationnel : exploitation active confirmée par des acteurs étatiques et des groupes de cyberespionnage.
  • PoC & weaponization : poCs publics armés tirant parti d’une chaîne de gadgets PHP (POP chain) injectée dans le paramètre _from de program/actions/settings/upload.php.
  • Conditions d’accès : requiert un compte de messagerie valide (post-authentification basique) ; accès web HTTP/HTTPS (ports 80 / 443) ; complexité d’attaque faible.

  • Acteurs de menace : groupes de cyberespionnage russes (Winter Vivern / UAC-0114, APT28 / Fancy Bear) et acteurs de renseignement étatiques.
  • Campagnes observées : ciblage systématique des portails webmail de ministères européens, d’ambassades et de sous-traitants de défense.
  • Malwares associés : webshells PHP minimaux, scripts d’exfiltration IMAP et balises de persistance.
  • Chronologie d’exploitation : premiers correctifs publiés en juin 2025 ; exploitation active confirmée conduisant à son inscription KEV en février 2026.

  • Requêtes web suspectes : requêtes HTTP GET/POST vers /?_task=settings&_action=upload ou program/actions/settings/upload.php contenant une chaîne sérialisée (ex. O:8:"...":... ou encodée en base64) dans le paramètre _from.
  • Fichiers malveillants créés : apparition de scripts PHP récents dans le répertoire temporaire temp/ ou dans l’arborescence des plugins.
title: Deserialisation Suspecte dans Roundcube upload.php (CVE-2025-49113)
id: d1c2b3a4-4911-4f89-8012-3456789abcde
status: test
description: Detecte des tentatives d injection de payload serialise PHP dans le parametre _from de Roundcube Webmail
references:
- https://roundcube.net/news/2025/06/01/security-updates-1.6.11-and-1.5.10
author: Hermes Codex Research
date: 2026-09-10
logsource:
category: webserver
detection:
selection:
cs_uri_stem|contains:
- 'upload.php'
- '/index.php'
cs_uri_query|contains:
- '_action=upload'
- '_from='
cs_uri_query|re: '.*_from=(O%3A|O:[0-9]+|a%3A|a:[0-9]+|s%3A|Tzo).*'
condition: selection
falsepositives:
- Aucune utilisation legitime de chaines serialisees dans le parametre _from
level: critical
rule Exploit_Roundcube_Deserialization_CVE_2025_49113 {
meta:
description = "Detecte les payloads PHP de deserialisation ciblant Roundcube upload.php"
author = "Hermes Codex Research"
date = "2026-09-10"
reference = "CVE-2025-49113"
strings:
$action = "_action=upload" ascii
$param = "_from=" ascii
$php_obj = /O:[0-9]+:"[a-zA-Z0-9_]+":[0-9]+:\{/ ascii
$gadget = "GuzzleHttp" ascii
condition:
($action and $param and $php_obj) or ($php_obj and $gadget)
}
alert http $EXTERNAL_NET any -> $WEBMAIL_SERVERS any (msg:"HERMES - Roundcube Webmail upload.php PHP Deserialization Exploit (CVE-2025-49113)"; flow:to_server,established; content:"_action=upload"; http_uri; content:"_from="; http_uri; pcre:"/_from=(?:O%3A|O:[0-9]+|Tzo)/Ui"; classtype:web-application-attack; sid:202549113; rev:1;)
  • Journaux d’accès web (Nginx / Apache) : rechercher des requêtes vers _action=upload renvoyant un code HTTP 200 ou 500 avec des arguments longs dans l’URI.
  • Processus système (Sysmon / auditd) : processus php-fpm ou apache2 engendrant des shells (/bin/sh, /bin/bash) ou des utilitaires réseau (curl, wget).
  • MITRE ATT&CK : T1190 (Exploit Public-Facing Application), T1059.004 (Unix Shell), T1114.002 (Remote Email Collection), T1505.003 (Web Shell).

  1. Mise à jour d’urgence vers 1.6.11 OU 1.5.10 : appliquer immédiatement les archives de mise à jour officielles de Roundcube.
  2. Redémarrage des services PHP-FPM et web : redémarrer systemctl restart php*-fpm et le serveur web pour purger les caches OPcache.
  3. Mitigation WAF temporaire : si la mise à jour ne peut être appliquée dans l’heure, bloquer les requêtes contenant _action=upload et le paramètre _from suspect au niveau de ModSecurity ou du WAF.
  4. Audit des boîtes compromises : examiner l’historique d’authentification des comptes utilisateurs pour détecter ceux ayant été compromis via credential stuffing.
  5. Nettoyage des répertoires temporaires : vérifier le contenu du dossier temp/ de Roundcube et supprimer tout fichier .php ou exécutable non répertorié.

« What happens if this vulnerability is exploited in an enterprise? »

Section intitulée « « What happens if this vulnerability is exploited in an enterprise? » »
  1. Compromission d’un compte mail utilisateur : l’attaquant obtient les identifiants d’un employé via une campagne de phishing ou par pulvérisation de mots de passe (password spraying).
  2. Injection du payload de désérialisation : connecté au portail Roundcube, l’attaquant soumet une requête forgée vers upload.php en injectant un objet sérialisé PHP malveillant dans le paramètre _from.
  3. Exécution de code système sur le serveur de messagerie : la fonction unserialize() déclenche une chaîne de gadgets d’objets, menant à l’exécution de code sous l’identité www-data.
  4. Exfiltration massive des boîtes aux lettres : l’attaquant accède directement aux banques de données de courriels (stockées en Maildir ou Dovecot/Postfix), extrayant les communications stratégiques, contrats et correspondances exécutives.
  5. Pivot vers le réseau interne d’entreprise : depuis le serveur de messagerie situé en DMZ, l’assaillant déploie un tunnel SSH inverse vers son C2 et initie des attaques de mouvement latéral vers les contrôleurs de domaine Active Directory.