FlawOpen

flawopen.com/Incidents/papercut-patch-bypass-scan2fax-chain-october-2026

● PaperCut NG/MF · CVE-2026-82077 · 2026-10-09 · CVSS 7.3 · Haute
Recherche · FlawOpen

Contournement du correctif PaperCut : chaîne Scan2Fax vers RCE pré-authentification

Le 9 octobre, watchTowr a révélé une nouvelle chaîne de contournement d’authentification et Scan2Fax visant une version intermédiaire de PaperCut. Elle montre comment des contournements de correctifs ont rouvert un chemin pré-authentification vers une faille d’exécution de commandes post-authentification ; les versions finales corrigées par PaperCut sont 26.0.5/25.0.13.[1], [2]

💡 Explication en Langage Simple (ELI5)

Imaginez un bâtiment où chaque pièce vérifie le badge du visiteur, mais où le hall ne vérifie que la première pièce de son parcours. Un raccourci par une pièce ouverte peut alors mener à un bureau réservé sans nouvelle vérification du badge. L’historique des correctifs PaperCut a dû fermer plusieurs chemins de ce type ; le correctif final protège les formulaires eux-mêmes et le chemin de fichiers utilisé par Scan-to-Fax.[1]

Concepts Clés et Termes

Contournement de correctif
Un autre chemin atteint la même opération protégée après qu’un correctif bloque uniquement la route signalée au départ. Il s’agit d’un nouveau défaut de frontière, pas de la preuve que le correctif initial était totalement absent.[1]
Chaîne pré-authentification
Séquence où une faille évite la vérification normale de connexion et une autre entraîne un impact, par exemple l’exécution de commandes. Chaque maillon a ses propres mécanismes et doit être décrit précisément.[1]
CVE-2026-82077
La faille PaperCut Scan-to-Fax est une traversée de chemin pouvant mener à l’exécution de commandes par un administrateur authentifié. PaperCut l’a corrigée dans les versions 26.0.5 et 25.0.13 ; watchTowr a montré qu’un contournement d’autorisation distinct dans une version intermédiaire pouvait s’y enchaîner.[2], [3], [4], [1]
WT-2026-0143
Identifiant watchTowr d’un contournement du correctif d’authentification révélé le 9 octobre. Le bulletin public de PaperCut ne lui attribue pas de CVE distinct. Il a été corrigé dans la version d’urgence 26.0.4-PO build 76530.[1]
État de l’exploitation
En août, PaperCut a signalé l’exploitation dans la nature de failles antérieures. Son bulletin de septembre indique qu’il n’avait aucune preuve d’exploitation des problèmes qu’il couvre, dont CVE-2026-82077. La recherche du 9 octobre démontre la chaîne sur une version intermédiaire, mais pas son utilisation contre des clients.[5], [2], [1]

Correspondances de référentiels

  • Référence CWE pour la faiblesse décrite dans ce guide : CWE-22 CWE-78

État des versions : distinguer les deux chaînes PaperCut

Version PaperCutCe que les sources établissentAction défensive
26.0.3watchTowr situe sur cette version l’ancienne chaîne observée en exploitation réelle : CVE-2026-81578 + CVE-2026-82078.Suivez l’avis urgent de PaperCut ; il s’agit de l’ancienne chaîne exploitée, pas de la recherche d’octobre.
26.0.4watchTowr a découvert des contournements de correctif distincts en analysant cette version.Ne considérez pas un correctif intermédiaire comme définitif ; suivez les versions corrigées indiquées par l’éditeur.
26.0.4-PO build 76508watchTowr a reproduit WT-2026-0143 + CVE-2026-82077 sur cette version. Il s’agit d’une démonstration de recherche, pas d’une preuve d’exploitation chez des clients.Passez à une version corrigée par l’éditeur ; ne supposez pas que cette version est protégée parce qu’elle contient les correctifs d’urgence précédents.
26.0.4-PO build 76530watchTowr indique que cette version corrige WT-2026-0143 ; CVE-2026-82077 a été corrigée dans une version ultérieure.Poursuivez jusqu’au correctif final de CVE-2026-82077 ; ce correctif intermédiaire ne suffit pas.
26.0.5 / 25.0.13 ou ultérieurePaperCut indique ces versions comme correctifs de CVE-2026-82077.Passez à la version actuellement prise en charge et vérifiez la branche et le build installés.
Version de maintenance 24.1.10L’avis d’août de PaperCut répertorie 24.1.10 comme version de maintenance remplaçant les Emergency Patches 1 à 3.Cela confirme uniquement les correctifs d’août ; cela n’établit pas l’état de CVE-2026-82077.
Branche 24.x : CVE-2026-82077Le bulletin de septembre de PaperCut indique 26.0.5 et 25.0.13 (branche 25.x) comme versions corrigées ; il ne précise pas la branche 24.x.Ne déduisez pas l’état de cette CVE pour 24.x ; consultez les recommandations actuelles de PaperCut pour cette branche.

Chronologie de l'Incident

2026-08-27

PaperCut a publié une alerte urgente concernant l’exploitation de PaperCut NG/MF. watchTowr a ensuite relié l’ancienne chaîne à CVE-2026-81578 et CVE-2026-82078 ; elle diffère de la nouvelle chaîne WT-2026-0143 et CVE-2026-82077.[5], [1]

2026-08-28

PaperCut a livré la version 26.0.4, puis la version d’urgence 26.0.4-PO 76508. watchTowr indique avoir découvert des contournements successifs en analysant ces correctifs.[1], [5]

2026-08-31 au 2026-09-10

watchTowr a signalé WT-2026-0143 et CVE-2026-82077 à PaperCut. PaperCut a corrigé WT-2026-0143 dans 26.0.4-PO 76530 le 1er septembre, puis CVE-2026-82077 dans 26.0.5/25.0.13 le 10 septembre.[1], [2]

2026-10-09

watchTowr a publié le récit technique de la chaîne visant la version intermédiaire. Cette divulgation ne prouve pas que cette nouvelle chaîne ait été utilisée contre des clients.[1], [2]

Déroulement de l'Attaque Étape par Étape

Étape 1

La vérification d’accès de la route ignore une destination imbriquée

watchTowr décrit le routage Tapestry historique de PaperCut, où une requête peut désigner une page racine puis une autre page ou un formulaire. La vérification d’autorisation antérieure n’appliquait pas systématiquement la permission propre au formulaire de destination.[1]

Étape 2

Un contournement de correctif atteint un formulaire protégé

La chaîne de 26.0.4-PO 76508 utilisait WT-2026-0143 pour atteindre la configuration via une page dont la validation n’appelait pas le contrôle du formulaire de destination. Cela décrit la frontière d’autorisation, sans reproduire la route ni les requêtes.[1]

Étape 3

Scan-to-Fax contient une faille distincte du chemin vers la commande

PaperCut classe CVE-2026-82077 comme une traversée de chemin dans les paramètres Scan-to-Fax, permettant à un administrateur authentifié d’exécuter des commandes sur l’hôte. watchTowr a montré que le contournement d’autorisation de la version intermédiaire pouvait fournir le contexte authentifié manquant.[1], [2]

Étape 4

Les versions finales ferment la chaîne divulguée

PaperCut a corrigé WT-2026-0143 dans la version d’urgence 76530 et CVE-2026-82077 dans 26.0.5/25.0.13. La divulgation d’octobre ne signifie ni que ces versions finales restent vulnérables ni que la nouvelle chaîne a été exploitée dans la nature.[1], [2]

Code Source : Vulnérable vs Sécurisé

Cet exemple Java générique montre deux contrôles indépendants : autoriser l’opération privilégiée elle-même, puis choisir un exécutable dans une table de connecteurs gérée par le serveur et vérifier son chemin canonique. Ce n’est ni le code PaperCut ni le correctif du fournisseur. En production, il faut aussi valider les arguments, limiter les privilèges du processus et utiliser la version corrigée de PaperCut ; les contrôles de chemin seuls ne réparent pas un contournement d’autorisation du routage.

IMPLÉMENTATION VULNÉRABLE
Path executable = faxDirectory.resolve(clientConnectorName).normalize();
// Une vérification au niveau de la route ne remplace pas l’autorisation de cette opération.
new ProcessBuilder(executable.toString(), faxArguments).start();
PATCH SÉCURISÉ ET ROBUSTE
if (!principal.canAdministerFax()) {
    throw new SecurityException("Fax administration is required");
}
Path root = faxDirectory.toRealPath();
Path executable = approvedConnectors.get(connectorId); // Server-owned allowlist.
if (executable == null) {
    throw new IllegalArgumentException("Unknown connector");
}
Path resolved = executable.toRealPath();
if (!resolved.startsWith(root) || !Files.isExecutable(resolved)) {
    throw new SecurityException("Connector is outside the approved directory");
}
new ProcessBuilder(resolved.toString(), validatedArguments).start();

Liste de Contrôle de Sécurité pour l'Ingénierie

Sources