Comment confirmer l’installation d’une version corrigée de ControlVault3 répertoriée dans DSA-2025-228

Sommaire: Comment confirmer l’installation d’une version corrigée de ControlVault3 répertoriée dans DSA-2025-228.

Cet article s’applique à Cet article ne s’applique pas à Cet article n’est lié à aucun produit spécifique. Toutes les versions de produits ne sont pas identifiées dans cet article.

Instructions

Ces instructions sont destinées à être exécutées directement sur l’ordinateur testé à l’aide du script PowerShell ci-dessous. Ce script : 

  1. À l’aide du script au bas de cet article, créez un fichier nommé : Verify_ControlVault_dsa-2025-228.ps1
    1. Ce script :
      1. Vérifie si le pilote Dell Control Vault est installé sur l’ordinateur et renvoie le résultat à $ControlVaultDriver
      2. Si le pilote Control Vault est trouvé, tirez la dernière ligne de CVFirmwareUpgradeLog.txt et comparez la révision du firmware (FW) à la révision requise du firmware de DSA pour CV3 et CV3+. Si le firmware requis est respecté, sortie vers la console
  2. Ouvrir PowerShell
    1. Appuyez sur les touches Windows + R, saisissez PowerShell et appuyez sur Entrée
      ou,
    2. Recherchez PowerShell dans le menu Démarrer et sélectionnez-le
  3. PowerShell peut bloquer des scripts en fonction de la stratégie de votre ordinateur. Vous devez modifier temporairement cette restriction en copiant et en collant ce script dans PowerShell, puis en appuyant sur Entrée :
    1. Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  4. Utilisez cd pour remplacer le répertoire par lequel votre script est enregistré, par exemple :
    1. cd “C:\Users\UserName\Documents\Scripts"
  5. Copiez et collez les éléments suivants dans PowerShell, puis appuyez sur Entrée pour exécuter le script :
    1. .\Verify_ControlVault_dsa-2025-228.ps1
  6. L’un des résultats suivants est renvoyé :
    • Le firmware ControlVault doit être mis à jour.
    • Vérification réussie : Le firmware ControlVault inclut des atténuations pour DSA-2025-228
    • Vérification réussie : Votre ordinateur ne dispose pas de ControlVault
    • ControlVault a peut-être été mis à jour, mais doit terminer la validation de la mise à jour du firmware. Veuillez redémarrer l’ordinateur
    • Il semble y avoir un problème lors de l’analyse du CVFirmwareUpgradeLog.txt ; Cela est probablement dû au fait que la dernière entrée de ce journal ne contient pas les données attendues
<#PSScriptInfo
.VERSION V1 - 11/12/2025
#>

<# 
.DESCRIPTION
	This script is intended to verify a Dell system against the vulnerabilities disclosed here https://www.dell.com/support/kbdoc/000276106/dsa-2025-228
	and is not intended to be supported/updated
	It is not intended to be used for keeping ControlVault firmware or drivers up-to-date
	Checks if Dell Control Vault Driver is installed on System and returns result to $ControlVaultDriver
	If Control Vault Driver is found, pull the last line from CVFirmwareUpgradeLog.txt and compare the FW revision to the 
	required FW revision from DSA for CV3 and CV3+.  If required firmware meet, output to console

.USEAGE
	This script, Verify_ControlVault_dsa-2025-228_Standalone_RC01.ps1 is intended to be run directly on the system intended for testing.  
	
	
	RETURNS: ControlVault firmware should be updated.
	RETURNS: Verification Success: ControlVault firmware includes mitigations for DSA-2025-228
	RETURNS: Verification Success: Your computer does not have ControlVault
	RETRUNS: ControlVault maybe updated but needs to complete firmware update validation, Please reboot computer
	RETRUNS: There appears to be an issue parsing the CVFirmwareUpgradeLog.txt; this is likely caused by the last entry of this log not containing the expected data
#>

# Static variables with firmware versions with remediation for ControlVault3 and ControlVault3+
$cv3_required_FWver = [Version]"5.15.10.0"
$cv3plus_required_FWver = [Version]"6.2.30.0"

# Static variables for messaging
$DSA_URL = "https://www.dell.com/support/kbdoc/000276106/dsa-2025-228"
$checkmark = [char]0x2705
$xmark = [char]0x2612
$CVoutofdate = "$xmark ControlVault firmware should be updated. Please refer to $DSA_URL"
$CVcompliant = "$checkmark Verification Success: ControlVault firmware includes mitigations for DSA-2025-228"
$CVnotfound = "Verification Success: Your computer does not have ControlVault"
$CVerror = "There appears to be an issue parsing the CVFirmwareUpgradeLog.txt; this is likely caused by the last entry of this log not containing the expected data"
$CVreboot = "ControlVault maybe updated but needs to complete firmware update validation, Please reboot computer"

# Checks if Dell Control Vault Driver is installed on System and returns result to $ControlVaultDriver
$controlVaultDriver = Get-WmiObject Win32_PnPSignedDriver | Where-Object { $_.DeviceName -like "*Control Vault*" }
$resultstatus = 3

# Find the last entry of the firmwareupgrade log and determine if the firmware version is greater than the firmware version required 
if ($ControlVaultDriver){
	$matchingLines = Get-Content "c:\Windows\System32\CVFirmwareUpgradeLog.txt" | Where-Object { $_ -match "Will not update ControlVault firmware from" -or $_ -match "Updating ControlVault firmware from" }
	$lastLine = $matchingLines | Select-Object -Last 1
	
	if ($lastLine -match "Updating ControlVault firmware from") {
		$resultstatus = 5
		Write-Host "$CVreboot"
	}
	else{
		if ($lastLine -match "Will not update ControlVault firmware from\s+(\d+\.\d+\.\d+\.\d+)") {
			$versionStr = $matches[1]
			$version = [Version]$versionStr
	 
			if (($version.Major -eq 5 -and $version -ge $cv3_required_FWver) -or
				($version.Major -eq 6 -and $version -ge $cv3plus_required_FWver)) {
				$resultstatus = 4
				Write-Host "$CVcompliant"
			}
			else{
				$resultstatus = 2
				Write-Host "$CVoutofdate"
			}
		}
		else{
			$resultstatus = 3
			Write-Host "$CVerror" 
		}
	}
}
else{
	$resultstatus = 1
	Write-Host "$CVnotfound"
}


# Create result object
$result = [PSCustomObject]@{
    ComputerName = $env:COMPUTERNAME
    Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    ControlVaultInstalled = $null -ne $controlVaultDriver
	Resultstatus = $resultstatus
    DriverDetails = if ($controlVaultDriver) {
        
		$controlVaultDriver | Select-Object DeviceName 
    } else {
        $null
    }
}

# Return as JSON
$result | ConvertTo-Json -Depth 3

Retour au début

Renseignements supplémentaires

Produits touchés

Dell Pro Max 14 MC14250, Dell Pro Max 16 MC16250, Dell Pro 13 Plus PB13250, Dell Pro 14 Plus PB14250, Dell Pro 16 Plus PB16250, Dell Pro Rugged 13 RA13250, Dell Pro Rugged 14 RB14250, Latitude 7030 Rugged Extreme Tablet, Latitude 7200 2-in-1 , Latitude 7210 2-in-1, Latitude 7220EX Rugged Extreme Tablet, Latitude 7220 Rugged Extreme Tablet, Latitude 7230 Rugged Extreme Tablet, Latitude 5300 2-in-1, Latitude 5300, Latitude 5310 2-in-1, Latitude 5310, Latitude 5320, Latitude 5330, Latitude 5340, Latitude 5350, Latitude 7300, Latitude 7310, Latitude 7320, Latitude 7320 Detachable, Latitude 7330, Latitude 7330 Rugged Extreme, Latitude 7340, Latitude 7350, Latitude 7350 Detachable, Latitude 9330, Latitude 5400, Latitude 5401, Latitude 5410, Latitude 5411, Latitude 5421, Latitude 5430 Rugged, Latitude 5431, Latitude 5440, Latitude 5450, Latitude 7400 2-in-1, Latitude 7400, Latitude 7410, Latitude 7420, Latitude 7430, Latitude 7440, Latitude 7450, Latitude 9410, Latitude 9420, Latitude 9430, Latitude 9440 2-in-1, Latitude 9450 2-in-1, Latitude 5500, Latitude 5501, Latitude 5510, Latitude 5511, Latitude 5520, Latitude 5521, Latitude 5530, Latitude 5531, Latitude 5540, Latitude 5550, Latitude 7520, Latitude 7530, Latitude 9510, Latitude 9520, Latitude 7640, Latitude 7650, Latitude 5420, Latitude 5430, Precision 3470, Precision 3480, Precision 3490, Precision 5470, Precision 5480, Precision 5490, Precision 3540, Precision 3541, Precision 3550, Precision 3551, Precision 3560, Precision 3561, Precision 3570, Precision 3571, Precision 3580, Precision 3581, Precision 3590, Mobile Precision 3591, Precision 7540, Precision 7550, Precision 7560, Precision 5680, Mobile Precision 5690, Precision 7670, Precision 7680, Precision 7740, Precision 7750, Precision 7760, Precision 7770, Precision 7780 ...
Propriétés de l’article
Numéro d’article: 000393940
Type d’article: How To
Dernière modification: 19 nov. 2025
Version:  1
Obtenez des réponses à vos questions auprès d’autre utilisateurs de Dell
Services de soutien
Vérifiez si votre appareil est couvert par les services de soutien.