Fleet versions
- Discovered: 4.83 RC
- Reproduced: Latest main
Actual behavior
The fix for #31303 (PR #41512) correctly detects LTSR base releases of Citrix Workspace (e.g., version 22.3.1.41 which mutates to 2203.1.41), but fails to detect cumulative update (CU) versions as LTSR.
For example, Citrix Workspace 2203 LTSR CU4 reports version 22.3.4000.4080, which mutates to 2203.4000.4080. The isCitrixWorkspaceLTSR function checks for the prefix "2203.1.", which does not match "2203.4000.4080".
As a result:
- The generated CPE is
cpe:2.3:a:citrix:workspace:2203.4000.4080:*:*:*:*:windows:*:* (missing ltsr in sw_edition)
- The resolved-in version is incorrectly reported as
2403.1 (the CR resolved-in version) instead of 2402 (the correct LTSR resolved-in version)
This affects all cumulative updates for LTSR 2203.1 (CU1 through CU6), which have version numbers like 22.3.2000.x, 22.3.3000.x, 22.3.4000.x, etc. These are far more common in production than the base release.
To fix
The citrixLTSRVersions list and isCitrixWorkspaceLTSR matching logic in server/vulnerabilities/nvd/indexed_cpe_item.go need to account for CU versions. The LTSR version lines should match broader prefixes. For example, any version starting with 2203. is part of the 2203.1 LTSR line, not just versions starting with 2203.1..
One approach: change the LTSR version entries to match the major version prefix (e.g., "2203" instead of "2203.1"), or add separate entries for CU version ranges.
Steps to reproduce
These steps:
- Enroll a Windows host with Citrix Workspace 2203 LTSR CU4 (version
22.3.4000.4080) installed. The installer can be downloaded without authentication from https://downloadplugins.citrix.com/ReceiverUpdates/Prod/Receiver/Win/CitrixWorkspaceApp22.3.4000.4080.exe.
- Wait for software inventory to populate and vulnerability scan to run (or trigger via
POST /api/latest/fleet/trigger?name=vulnerabilities).
- Check CVE-2024-6286 for the host's Citrix Workspace software.
- Observe that
resolved_in_version is 2403.1 instead of the correct 2402.
- Observe that the generated CPE has
* for sw_edition instead of ltsr.
More info
Related: #31303, PR #41512
References:
QA
- Spin up a Windows VM (e.g., Azure
Standard_D2s_v3 with Win2022Datacenter).
- Install Citrix Workspace 2203 LTSR CU4 silently:
- Download from
https://downloadplugins.citrix.com/ReceiverUpdates/Prod/Receiver/Win/CitrixWorkspaceApp22.3.4000.4080.exe
- Run
CitrixWorkspaceApp22.3.4000.4080.exe /silent /noreboot
- Enroll the host in Fleet using fleetd.
- Trigger vulnerability scan:
POST /api/latest/fleet/trigger?name=vulnerabilities
- Verify that CVE-2024-6286 shows
resolved_in_version: "2402" (not "2403.1").
- Verify that the generated CPE contains
ltsr in the sw_edition field: cpe:2.3:a:citrix:workspace:2203.4000.4080:*:*:*:ltsr:windows:*:*
Fleet versions
Actual behavior
The fix for #31303 (PR #41512) correctly detects LTSR base releases of Citrix Workspace (e.g., version
22.3.1.41which mutates to2203.1.41), but fails to detect cumulative update (CU) versions as LTSR.For example, Citrix Workspace 2203 LTSR CU4 reports version
22.3.4000.4080, which mutates to2203.4000.4080. TheisCitrixWorkspaceLTSRfunction checks for the prefix"2203.1.", which does not match"2203.4000.4080".As a result:
cpe:2.3:a:citrix:workspace:2203.4000.4080:*:*:*:*:windows:*:*(missingltsrin sw_edition)2403.1(the CR resolved-in version) instead of2402(the correct LTSR resolved-in version)This affects all cumulative updates for LTSR 2203.1 (CU1 through CU6), which have version numbers like
22.3.2000.x,22.3.3000.x,22.3.4000.x, etc. These are far more common in production than the base release.To fix
The
citrixLTSRVersionslist andisCitrixWorkspaceLTSRmatching logic inserver/vulnerabilities/nvd/indexed_cpe_item.goneed to account for CU versions. The LTSR version lines should match broader prefixes. For example, any version starting with2203.is part of the 2203.1 LTSR line, not just versions starting with2203.1..One approach: change the LTSR version entries to match the major version prefix (e.g.,
"2203"instead of"2203.1"), or add separate entries for CU version ranges.Steps to reproduce
These steps:
22.3.4000.4080) installed. The installer can be downloaded without authentication fromhttps://downloadplugins.citrix.com/ReceiverUpdates/Prod/Receiver/Win/CitrixWorkspaceApp22.3.4000.4080.exe.POST /api/latest/fleet/trigger?name=vulnerabilities).resolved_in_versionis2403.1instead of the correct2402.*for sw_edition instead ofltsr.More info
Related: #31303, PR #41512
References:
QA
Standard_D2s_v3withWin2022Datacenter).https://downloadplugins.citrix.com/ReceiverUpdates/Prod/Receiver/Win/CitrixWorkspaceApp22.3.4000.4080.exeCitrixWorkspaceApp22.3.4000.4080.exe /silent /norebootPOST /api/latest/fleet/trigger?name=vulnerabilitiesresolved_in_version: "2402"(not"2403.1").ltsrin the sw_edition field:cpe:2.3:a:citrix:workspace:2203.4000.4080:*:*:*:ltsr:windows:*:*