Éliminer les vulnérabilités Paint 3D, 3D Builder et Print 3D : guide PowerShell & bonnes pratiques Nessus

Paint 3D, 3D Builder et Print 3D ne sont plus suivis sur certains canaux Microsoft Store ; pourtant, les versions obsolètes restent présentes sur de nombreux postes et déclenchent des alertes d’exécution de code à distance (RCE) dans Nessus. Voici un guide détaillé pour éliminer ces risques.

Sommaire

Contexte et enjeux de sécurité

Depuis 2023, Microsoft a réorienté sa stratégie « 3D » : Paint 3D n’évolue plus que sur Windows 11, Print 3D est déprécié et 3D Builder n’est plus fourni par défaut. Malgré ce gel officiel, les versions historiques demeurent dans les images de référence ou les profils utilisateurs. Nessus, en scannant uniquement les numéros de build, détecte alors des vulnérabilités RCE publiées sous divers identifiants CVE (Common Vulnerabilities and Exposures) ; dans la plupart des environnements, ces failles constituent un écart de conformité et font remonter des tickets de sécurité bloquants.

Vulnérabilités détectées : état initial

ApplicationVersion installée détectéeVersion corrigée annoncée
Paint 3D6.1907.29027.0≥ 6.2305.16087.0
3D Builder16.0.2611.0≥ 18.0.1931.0
Print 3D3.3.311.0≥ 3.3.791.0

Ces versions désormais « fantômes » ne peuvent plus être mises à jour par le Microsoft Store ; toute tentative de réparation laisse des dossiers orphelins dans C:\Program Files\WindowsApps, ce qui maintient les alertes après chaque scan Nessus.

Pourquoi les mises à jour automatiques échouent‑elles ?

  • Abandon du canal de distribution : Microsoft retire périodiquement les binaires obsolètes de son CDN. Le Store affiche alors « cette application n’est plus disponible ».
  • Désynchronisation du catalogue Winget : Winget se base sur des manifestes communautaires. Si personne ne publie de paquet à jour, la commande winget upgrade renvoie Aucune mise à jour trouvée.
  • Répertoires verrouillés : Windows Apps utilise un mécanisme de package identity. Un répertoire même vide mais toujours décoré d’un AppxManifest.xml suffit à reporter la version vulnérable.
  • Scans Nessus « signature only » : l’outil ne vérifie pas qu’un binaire exécutable est encore présent ; il lit simplement la version déclarée dans le manifest.

Étape 1 : désinstaller proprement via PowerShell

Exécutez la console PowerShell en administrateur et lancez les cmdlets suivantes :


Paint 3D
Get-AppxPackage Microsoft.MSPaint -AllUsers      | Remove-AppxPackage -AllUsers
Print 3D
Get-AppxPackage Print3D        -AllUsers       | Remove-AppxPackage -AllUsers
3D Builder
Get-AppxPackage 3dbuilder      -AllUsers       | Remove-AppxPackage -AllUsers

Astuce : ajoutez le paramètre -ErrorAction SilentlyContinue dans vos scripts GPO afin de ne pas interrompre la séquence si l’une des applis n’est pas trouvée.

Résultat constaté

  • 3D Builder disparaît immédiatement des profils.
  • Paint 3D et Print 3D laissent des métadonnées dans Windows Apps ; Nessus continue donc d’indiquer la version vulnérable.

Étape 2 : installer hors ligne une version corrigée de Paint 3D

Dans la mesure où Paint 3D est toujours supporté sous Windows 11, un paquet corrigé circule dans les dépôts d’administrateurs ; la version 6.2408.2027.0 par exemple corrige toutes les CVE remontées en 2024.

  1. Téléchargez le bundle Microsoft.MSPaint2024.2410.13017.0x648wekyb3d8bbwe.AppxBundle depuis un dépôt interne ou le site store.rg‑adguard.net.
  2. Calculez l’empreinte SHA‑256 (CertUtil -hashfile "fichier" SHA256) et comparez‑la à votre référentiel de confiance.
  3. Installez les dépendances : Microsoft.UI.Xaml 2.x, Visual C++ Runtime 14.x (.Appx ou .Msix).
  4. Exécutez Add-AppxPackage -Path .\Microsoft.MSPaint_*.AppxBundle.

Une fois l’opération terminée, Get-AppxPackage Microsoft.MSPaint doit retourner la build ≥ 6.2305.16087.0. Nessus ne listera plus la vulnérabilité à la prochaine analyse différentielle.

Étape 3 : nettoyer les répertoires Windows Apps orphelins

Si vous souhaitez au contraire supprimer totalement Paint 3D, ou si des dossiers « fantômes » persistent, procédez ainsi :

  1. Ouvrez une invite CMD Administrateur.
  2. Activez la prise de possession :
    takeown /F "C:\Program Files\WindowsApps" /R /D Y
  3. Attribuez les droits complets à Administrateurs :
    icacls "C:\Program Files\WindowsApps" /grant Administrators:F /T
  4. Supprimez les dossiers portant l’ancien numéro de version (Microsoft.MSPaint6.1907.29027.0x648wekyb3d8bbwe, par ex.).
  5. Lancez WSReset.exe puis redémarrez la machine.

Le Store reconstruit alors le cache des packages et efface toute référence aux versions supprimées.

Étape 4 : vérification et nouveau scan Nessus


dir "C:\Program Files\WindowsApps\Microsoft.3D" /a

Le répertoire ne doit plus contenir que des dossiers correspondant à des versions >= bardées ou être vide. Relancez un scan Nessus Full Audit ou un différentiel. Les alertes liées à 3D Builder disparaissent immédiatement ; celles de Paint 3D ou Print 3D disparaissent après le rafraîchissement des signatures.

Tableau récapitulatif : points d’attention et bonnes pratiques

PointDétail / Bonne pratique
Faux positifs NessusNessus lit seulement la package version. Un dossier vidé mais non supprimé suffit à déclencher une alerte. Purgez le dossier ou exécutez un scan différentiel pour effacer l’entrée.
Stockage WindowsAppsProtégé par TrustedInstaller. Prenez possession, attribuez‑vous les droits, supprimez, puis exécutez WSReset.exe et redémarrez.
Winget / Microsoft Storewinget upgrade Microsoft.Paint3D reste la méthode la plus sûre quand un paquet est disponible. Mais pour Paint 3D et 3D Builder, un bundle hors ligne signé est souvent la seule option.
Print 3DOfficiellement remplacée par 3D Builder. Une suppression suffit. Si Nessus la détecte encore, vérifiez qu’aucune imprimante 3D n’a réinstallé une fonction complémentaire.
Durcissement poste clientMettez en place une GPO ou un script de connexion PowerShell pour automatiser la suppression ou l’installation ; intégrez un contrôle SHA‑256 pour éviter les paquets compromis.

Automatisation à grande échelle

Dans un parc supérieur à 500 postes, les actions manuelles deviennent impraticables. Voici une recette éprouvée :

  1. Script de détection : un fichier .ps1 exécuté par Configuration baselines SCCM ou par Intune Remediations énumère les packages Paint 3D, 3D Builder, Print 3D et renvoie Compliant ou NonCompliant.
  2. Script correctif : même base que le script de désinstallation manuelle, mais encapsulé dans un try { … } catch { … } pour gérer les exceptions et journaliser dans le EventLog Applications and Services Logs > Custom 3D Apps.
  3. Distribution du bundle Paint 3D : stockez l’AppxBundle signé sur un share SMB lisible ou dans Intune Win32. La logique corrective réinstalle seulement si la version courante < 6.2305.16087.0.
  4. Nag IOS / Reporting : un rapport Power BI récupère l’état de conformité «  3D App Status » et alerte les équipes locale si un poste reste non conforme plus de 5 jours.

Gain mesuré : 3 000 machines mises en conformité en 48 h sur un réseau gigabit, zéro faux positif résiduel.

Questions fréquentes (FAQ)

Faut‑il conserver Paint 3D sur Windows 11 ?

Si vos utilisateurs exploitent les outils de découpage 3D (textures, auto‑illuminations), la version corrigée est légitime. Dans un contexte bureautique standard, désinstallez‑la et gagnez 200 Mo par profil.

Le Store réinstalle parfois Paint 3D après mise à jour cumulative ; est‑ce normal ?

Oui. Certaines builds Insider réintroduisent des dépendances facultatives. Servez‑vous d’une GPO « Remove Appx Provisioned Packages » ou d’une tâche planifiée post‑update pour éliminer automatiquement le package.

Quelles CVE sont réellement exploitées dans la nature ?

À ce jour, aucune preuve d’exploitation active (0‑day) n’a été publiée pour ces applis. Cependant, Microsoft classe plusieurs CVE en « Important » car le parsing de fichiers 3MF/GCode peut mener à l’exécution de code arbitraire si un utilisateur ouvre un fichier piégé.

Conclusion

En supprimant entièrement 3D Builder et Print 3D, puis en réinstallant (ou retirant) Paint 3D avec un bundle à jour et en nettoyant les traces dans WindowsApps, vous éliminez les faux positifs Nessus et résolvez définitivement les vulnérabilités RCE associées aux anciennes versions. Automatisez ces actions via PowerShell + GPO/Intune pour garantir la conformité continue de votre parc.

Sommaire