Sårbarhet i VMware Aria Operations

Den 30 januari 2025 publicerade VMware en säkerhetsrådgivning (VMSA-2025-0003) som adresserar flera sårbarheter i produkterna VMware Aria Operations for Logs och VMware Aria Operations. Dessa sårbarheter, identifierade som CVE-2025-22218, CVE-2025-22219, CVE-2025-22220, CVE-2025-22221 och CVE-2025-22222, har bedömts ha en hög allvarlighetsgrad med CVSSv3-poäng mellan 5,2 och 8,5.

Påverkade produkter:

  • VMware Aria Operations for Logs
  • VMware Aria Operations
  • VMware Cloud Foundation

Detaljer om sårbarheterna:

  1. CVE-2025-22218: Informationsläckage i VMware Aria Operations for Logs. En angripare med “View Only Admin”-behörighet kan potentiellt läsa inloggningsuppgifter för en VMware-produkt integrerad med Aria Operations for Logs.
  2. CVE-2025-22219: Lagrad cross-site scripting (XSS) i VMware Aria Operations for Logs. En användare utan administratörsbehörighet kan injicera skadlig kod som kan leda till att godtyckliga operationer utförs med administratörsbehörighet.
  3. CVE-2025-22220: Bristande åtkomstkontroll i VMware Aria Operations for Logs. En användare utan administratörsbehörighet med nätverksåtkomst till Aria Operations for Logs API kan utföra vissa operationer med administratörsbehörighet.
  4. CVE-2025-22221: Lagrad cross-site scripting (XSS) i VMware Aria Operations for Logs. En administratör kan injicera skadlig kod som kan exekveras i en användares webbläsare vid borttagning av agentkonfiguration.
  5. CVE-2025-22222: Informationsläckage i VMware Aria Operations. En användare utan administratörsbehörighet kan utnyttja denna sårbarhet för att hämta inloggningsuppgifter för ett utgående plugin om ett giltigt tjänste-ID är känt.

Rekommenderade åtgärder:

VMware har släppt patchar för att åtgärda dessa sårbarheter. Det rekommenderas starkt att administratörer uppdaterar till de senaste versionerna enligt följande:

  • VMware Aria Operations for Logs: Uppdatera till version 8.18.3.
  • VMware Aria Operations: Uppdatera till version 8.18.3.
  • VMware Cloud Foundation: Följ instruktionerna i kunskapsbasartikel KB92148.

För mer detaljerad information och nedladdningslänkar, besök den officiella säkerhetsrådgivningen:

support.broadcom.com

Det är viktigt att organisationer som använder dessa produkter omedelbart implementerar de tillgängliga uppdateringarna för att skydda sina system mot potentiella hot.

How to uninstall Veeam Backup & Replication Console

Backup is usually your last line of defense against malicious attackers and ransomware attacks, to make your backup environment a little bit more secure beyond what’s stated in the Veeam Backup & Replication Security & Compliance Analyzer found in the Veeam Backup & Replication Console itself is to also uninstall the Console from the backup server. This will make sure that if someone gains access to the backup server, at least they won’t have access to the console (however there’s still a lot of bad things they could do if they can log on to your server).

Now, to be able to actually uninstall the Console you also need to uninstall all the explorers first. One thing to note is when you upgrade your environment in the future to a new version of Veeam Backup & Replication, that process will most likely install the explorers and the console again so be sure to run the script again once the upgrade is finished.

To simplify the process I’ve created a powershell script that removes the explorers and the console for you. Use it at your own risk and try it out in a test environment first.

<#
.SYNOPSIS
    A PowerShell script to uninstall all Veeam Explorers and Veeam Console
    while leaving the Veeam Backup Engine intact. The script dynamically detects
    installed applications based on specific patterns and includes error checking,
    user confirmation, and logging.

.DESCRIPTION
    - Dynamically finds all installed applications with names matching:
      "Veeam" and "Explorer" or "Console".
    - Displays a list of detected applications and prompts the user for confirmation.
    - Uninstalls applications if the user confirms.
    - Includes error handling and exits safely if no applications are found
      or if the user declines to proceed.

.EXAMPLE
    To execute the script:
    1. Open PowerShell as an Administrator.
    2. Navigate to the directory where the script is saved.
    3. Run the script using the following command:
       .\Uninstall-VeeamComponents.ps1
    4. Follow the on-screen prompts to confirm uninstallation.

.NOTES
    Author: Niclas Borgstrom
    Version: 1.0
    Last Updated: 2025-01-24
    Requires: PowerShell 5.1 or higher (with administrator privileges)
#>

# Define the pattern to match for Veeam Explorers and other components
$applicationPatternsToUninstall = @(
    "Explorer",
    "Console"
)

# Function to retrieve installed applications matching a pattern
function Get-InstalledApplicationsByPattern {
    param (
        [Parameter(Mandatory = $true)]
        [string]$Pattern
    )
    Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match "Veeam" -and $_.Name -match $Pattern }
}

# Collect all applications matching the patterns
Write-Host "Scanning for matching applications..." -ForegroundColor Cyan
$allMatchingApplications = @()

foreach ($pattern in $applicationPatternsToUninstall) {
    $matchingApps = Get-InstalledApplicationsByPattern -Pattern $pattern
    if ($matchingApps) {
        $allMatchingApplications += $matchingApps
    }
}

# Display found applications and prompt user for confirmation
if ($allMatchingApplications.Count -gt 0) {
    Write-Host "The following applications will be uninstalled:" -ForegroundColor Yellow
    $allMatchingApplications | ForEach-Object { Write-Host "- $($_.Name)" -ForegroundColor White }

    $response = Read-Host "Do you really want to uninstall these applications? (yes/no)"

    if ($response -eq "yes") {
        Write-Host "Proceeding with uninstallation..." -ForegroundColor Cyan
        foreach ($app in $allMatchingApplications) {
            try {
                Write-Host "Uninstalling '$($app.Name)'..." -ForegroundColor Cyan
                $app.Uninstall() | Out-Null
                Write-Host "'$($app.Name)' has been uninstalled successfully." -ForegroundColor Green
            } catch {
                Write-Host "Failed to uninstall '$($app.Name)'. Error: $_" -ForegroundColor Red
            }
        }
        Write-Host "Uninstallation process completed." -ForegroundColor Cyan
    } else {
        Write-Host "No applications were uninstalled. Exiting script." -ForegroundColor Yellow
    }
} else {
    Write-Host "No matching applications found. Exiting script." -ForegroundColor Gray
}

Veeam Backup for Microsoft365 v8.1 släppt!

Veeam har släppt en uppdatering för Veeam Backup for Microsoft 365 version 8.1. Denna nya version erbjuder en mängd funktioner och viktiga åtgärder för att förbättra stabiliteten, prestandan och skalbarheten, vilket gör din säkerhetskopieringsupplevelse ännu bättre.

Nyheter och Förbättringar

De mest anmärkningsvärda nyheterna i denna version innefattar stöd för Ubuntu 24.04 och RedHat 9.4 som operativsystem för backup-proxyservrar. Detta innebär bredare support för olika miljöer och mer flexibilitet för användare av olika system. Förutom detta, har den nya versionen också levererat flera kritiska förbättringar för att säkerställa produkternas pålitlighet. Man kan också notera att support för Microsoft Windows Server 2012 har i denna release tagits bort.

Lösning av Problem

Den nya versionen har adresserat flera problem som tidigare användare har rapporterat. Några av de mest framträdande lösningarna omfattar:

  • Generellt: Förbättrad hantering av repository-indexering för att hantera fel. Flera stabilitets- och prestandaförbättringar har implementerats.
  • Backup och Kopiering: Åtgärdat flera problem som kan uppstå vid säkerhetskopiering av SharePoint, OneDrive eller Teams-data, samt vid backupar av Exchange.
  • Upgrade och Indexering: Hanterat problem relaterade till uppgradering av Linux-proxyservrar och indexering av objektlagringsmöjligheter för att säkerställa smidigare övergångar till den nya versionen.

Installations- och Uppgraderingsvägledning

För befintliga användare av Veeam Backup for Microsoft 365 versionerna 7 eller 8, erbjuder denna release en enkel uppgraderingsväg till version 8.1. Den nya releasen kan också användas för att installera en ny implementering av Veeam Backup for Microsoft 365 version 8.1. När denna release har installerats, kommer byggnumret för Veeam Backup for Microsoft 365 vara 8.1.0.305.

En Förbättrad Säkerhetskopieringserfarenhet

Med version 8.1 av Veeam Backup for Microsoft 365, ser vi en rad nya funktioner och förbättringar som syftar till att ge ännu bättre prestanda och tillförlitlighet. Genom att adressera både kända problem och användarnas feedback, har Veeam skapat en starkare och mer pålitlig säkerhetskopierings-lösning som uppfyller de högsta standarderna för datasäkerhet.

PowerCLI script to start vCenter default services

I had some problems recently in my home lab where my vCenter server didn’t start all necessary services when rebooted resulting in some backup jobs failing. See separate post about the issue.

Instead of fixing the problem, why not create a script that checks if the default services was started. Typically, the following services are not required:
vmcam
vmware-imagebuilder — unless the Imagebuilder feature has been enabled
vmware-netdumper
vmware-rbd-watchdog
vmware-vcha — unless vCenter High Availability has been enabled

For the script to work, SSH needs to be enabled on the vCenter Server
In the vCenter Server Appliance Management Interface (https://<vcenter IP>:5480) click Access, and click Edit.
Edit the access settings for the vCenter Server Appliance and enable Enable SSH login.

and the Posh-SSH module needs to be installed on the client you’re running the script from, a simple
Install-Module -Name Posh-SSH
will do it.

# Start-VCSA-services.ps1
# v1.0 Niclas Borgstrom
#
# Ensure Posh-SSH module is imported
Import-Module -Name Posh-SSH -ErrorAction Stop

# Parameters - Replace these with actual values
$VCServer = "IP Address or FQDN to vCenter"
$Username = "root" # useraccount to use to access vCenter VAMI
$Password = "<password>" # Password for the above user account

# Services to check and potentially start - Started by default
$ServicesToCheck = @("applmgmt", "lookupsvc", "lwsmd", "observability", "observability-vapi", "pschealth", "vc-ws1a-broker", "vlcm", "vmafdd", "vmcad", "vmdird", "vmware-analytics", "vmware-certificateauthority", "vmware-certificatemanagement", "vmware-cis-license", "vmware-content-library", "vmware-eam", "vmware-envoy", "vmware-envoy-hgw", "vmware-envoy-sidecar", "vmware-infraprofile", "vmware-perfcharts", "vmware-pod", "vmware-postgres-archiver", "vmware-rhttpproxy", "vmware-sca", "vmware-sps", "vmware-stsd", "vmware-topologysvc", "vmware-trustmanagement", "vmware-updatemgr", "vmware-vapi-endpoint", "vmware-vdtc", "vmware-vmon", "vmware-vpostgres", "vmware-vpxd", "vmware-vpxd-svcs", "vmware-vsan-health", "vmware-vsm", "vsphere-ui", "vstats", "vtsdb", "wcp", "vmware-hvc")


try {
    # Establish an SSH session to the vCenter server
    $SSHSession = New-SSHSession -ComputerName $VCServer -Credential (New-Object -TypeName PSCredential -ArgumentList $Username, (ConvertTo-SecureString $Password -AsPlainText -Force))

    # Check the status of all services
    Write-Output "Checking service statuses on $VCServer..."
    $ServiceStatusCommand = "com.vmware.service-control --status"
    $ServiceStatusResult = Invoke-SSHCommand -SessionId $SSHSession.SessionId -Command $ServiceStatusCommand

    # Output the raw service status for debugging
    Write-Output "Raw Service Status Output:"
    Write-Output ($ServiceStatusResult.Output -join "`n")

    # Parse the service status output
    $ServiceStatusOutput = $ServiceStatusResult.Output -join "`n" # Combine output lines into a single string

    # Extract the services under the "Stopped:" section
    Write-Output "Parsing the 'Stopped:' section..."
    $StoppedServices = @() # Initialize an empty array for stopped services
    if ($ServiceStatusOutput -match "Stopped:\s*(.*)") {
        # Match everything after "Stopped:"
        $StoppedServicesRaw = $Matches[1] -replace "\r|\n", " " # Replace newlines with spaces
        $StoppedServices = $StoppedServicesRaw -split '\s+' | Where-Object { $_ -ne "" } # Split services by whitespace
        Write-Output "Services found in 'Stopped:' section: $($StoppedServices -join ', ')"
    } else {
        Write-Output "No services found in the 'Stopped:' section."
    }

    # Check if the required services are in a stopped state and start them if necessary
    foreach ($Service in $ServicesToCheck) {
        if ($StoppedServices -contains $Service) {
            Write-Output "Service '$Service' is stopped. Starting it now..."
            $StartServiceCommand = "com.vmware.service-control --start $Service"
            $StartServiceResult = Invoke-SSHCommand -SessionId $SSHSession.SessionId -Command $StartServiceCommand

            # Output the result of the start service command
            Write-Output "Start Service Output for '$Service':"
            Write-Output ($StartServiceResult.Output -join "`n")
        } else {
            Write-Output "Service '$Service' is already running."
        }
    }
}
catch {
    Write-Error "An error occurred: $_"
}
finally {
    # Clean up and remove the SSH session
    if ($SSHSession) {
        Remove-SSHSession -SessionId $SSHSession.SessionId
        Write-Output "SSH session to $VCServer closed."
    }
}

Veeam backup using Tag Combination not working

Recently, I ran into a problem where my backup stopped working. Everything seemed fine; I could log in to the VMware vCenter server, all the virtual machines were there, but the backup just wouldn’t run. The error message I got in the backup job was: “Tags Combination Daily-backup & Production is unavailable. VMs residing on it will be skipped from processing.”

I’ve built some of my backup jobs to use Tags Combination as the selection process for the backup job in Veeam Backup & Replication. All VMs with the correct combination of vCenter Tags will be backed up. In this specific job, I was using a tag called “Daily-backup” and another called “Production”, so as long as a VM is assigned both tags, it will be backed up.

Did something happen with the tags assigned to the VMs? I logged in to vCenter to verify the tags. Clearly, the VMs still had the correct tags assigned.

Verifying vCenter also revealed nothing out of the ordinary. The tags all looked fine.

All other jobs not using Tags were working without any problems. So, the next step was to verify that all services were running on the vCenter appliance. I logged in to the vCenter VAMI at https://<vcenter-fqdn>:5480, and lo and behold, the vAPI endpoint service was not started.

After manually starting the service, all backups using Tag Combination started working again.

Ny sårbarhet i VMware Aria Automation

en nyligen publicerad säkerhetsmeddelande har Broadcom identifierat en server-side request forgery (SSRF) sårbarhet i VMware Aria Automation. Denna sårbarhet, (CVE-2025-22215) utvärderas som måttligt allvarlig med en max CVSSv3 baspoäng på 4,3.

Vad är server-side request forgery (SSRF)

En server-side request forgery (SSRF) inträffar när en illvillig aktör kan tvinga en server att göra ej auktoriserade förfrågningar till interna eller externa resurser. I detta fall kan en aktör med “Organisationsmedlems” rättigheter i Aria Automation utnyttja denna sårbarhet för att kartlägga interna tjänster som körs på värden/nätverket.

Kända attackvektorer

Attacken möjliggör att obehörig åtkomst kan fås till interna system och tjänster. Företrädare med tillgång till “Organizationsmedlems” rättigheter kan utnyttja denna sårbarhet för att få tillgång till interna tjänster och data.

Åtgärder

För att lösa denna sårbarhet har Broadcom publicerat patcher som används för att fixa problemet i de berörda produkterna. Det rekommenderas starkt att applicera dessa säkerhets patcher så snart som möjligt för att undvika potentiella säkerhetsproblem.

Varför är detta viktigt

Att bibehålla hög säkerhet är av största vikt för företag och organisationer som använder VMware-produkter. Genom att åtgärda denna sårbarhet kan man säkerställa att interna tjänster och data är skyddade mot obehörigt åtkomst och potentiella attacker.

För mer information om CVE-2025-22215 och andra säkerhetsråd, besök Broadcom’s säkerhetsmeddelande sida här.