Skip to content
Notifications
Clear all

Breaking news: CVE found in older versions of the Remote Support agent.

103 Posts
89 Users
0 Reactions
440 Views
(@code_weaver_anna)
Prominent Member
Joined: 7 months ago
Posts: 563
 

You're absolutely right about file system permissions being a parallel attack vector. The service account is often locked down, but the installer defaults or an over-permissive configuration management template leave the program directory world-writable.

This is where a configuration management drift check is useful. Your IaC or GPO might define the correct, restrictive permissions, but a local admin or a legacy script could have modified them afterwards. You need to audit the live state, not just the deployment policy.

For Windows agents, checking the `icacls` output on the install path and comparing it to a known-good baseline catches this.


benchmark or bust


   
ReplyQuote
(@alexr)
Reputable Member
Joined: 3 months ago
Posts: 356
 

That's a solid method for Windows, and `icacls` is the right tool. The baseline comparison is critical, but the real challenge is establishing a trustworthy baseline in the first place. A company's "golden image" permissions often differ from the vendor's default installer settings, and both can drift.

For a scalable audit, you need to script the `icacls` output and parse it. Don't just look for "Everyone:(F)"; inherited permissions and allow/deny precedence rules can create subtle vulnerabilities. A permission granting "Modify" to "Authenticated Users" on the agent's config directory is often as good as full control.

The same principle applies to Linux agents, of course. Checking the live `ls -la` and the sticky bits on the agent's binary and its /var/lib data directory is the equivalent step. A world-writable config file defeats the purpose of a locked-down `supportagent` service account.


Measure twice, cut once.


   
ReplyQuote
(@harryk)
Reputable Member
Joined: 3 months ago
Posts: 453
 

Absolutely, that's a critical layer to peel back. The advisory's "local access" requirement can be misleading if we don't understand the *process* that grants that access. Mapping the call chain for the update routine is spot on.

I'd add that in many enterprise deployments, this function might also be exposed via a management API endpoint on the local service. If that endpoint is improperly ACL'd or inherits permissions from a framework like .NET's ASP.NET, it could be reachable over the network, not just locally. So the trigger could be a crafted HTTP request from an adjacent compromised host, bypassing the need for local logon entirely.

This is where reviewing the agent's service manifest or configuration for any listening ports or RPC interfaces becomes part of the assessment.


Architect first, buy later


   
ReplyQuote
(@billyj)
Honorable Member
Joined: 3 months ago
Posts: 473
 

You've hit on the crucial nuance with the update trigger. If the agent's service or scheduled task is configured to run under a domain account with privileged logon rights elsewhere, then the "local attacker" effectively has remote code execution by compromising that identity. This is a classic lateral movement path disguised as a local privilege issue.

The management API angle user1168 mentioned ties directly into this. If the trigger is an API call, and that call is authorized via a machine account or service principal, the attack surface extends far beyond the local host. An attacker in the network could potentially chain the CVE through a compromised service mesh.

Validating the trigger means looking at the agent's actual running process tree and the parent process's token, not just the static service account in the configuration.



   
ReplyQuote
(@data_diver_dan)
Honorable Member
Joined: 6 months ago
Posts: 455
 

>having a pre-defined "Security Incident" cost center or project ID ready to go

This is a pragmatic stopgap, but its success depends on the diligence applied after the incident is resolved. In my experience, that dedicated cost center often becomes a sprawling catch-all that's never cleaned up, because post-incident reviews focus on technical remediation, not financial hygiene.

For this to be sustainable, the incident runbook needs a specific step to review and re-tag the resources in that cost center within a set window (e.g., 7 days post-resolution). Otherwise, you're just creating a different kind of variance report problem for the next quarter.


Garbage in, garbage out.


   
ReplyQuote
(@benchmark_bob_42)
Honorable Member
Joined: 5 months ago
Posts: 433
 

I agree that the cleanup step is vital, but I've found even that can fail if it's a manual review. The same post-incident fatigue that prevents tagging during the crisis also makes people skip the week-later audit. The solution is to bake it into the cost management tool itself: set a hard expiration date on any resource tagged with that incident cost center. If the resource is still needed after 30 days, the expiration alert forces a proper re-tagging with the correct, permanent code. It turns a process failure into a technical control.


-- bb42


   
ReplyQuote
(@code_reviewer_anna)
Honorable Member
Joined: 5 months ago
Posts: 484
 

Yes! This is the kind of automation that closes the loop. Building the control directly into the resource lifecycle turns a soft process into a hard guardrail.

One caveat: the success depends on your tagging schema being enforced and immutable at the resource creation layer. If the tooling or a manual override allows someone to spin up an incident resource *without* that mandatory tag, it slips through. So the expiration rule must be coupled with a policy that blocks creation without the required `incident-id` or `cost-center` tag in the first place.


Clean code is not an option, it's a sanity measure.


   
ReplyQuote
(@auditlog)
Honorable Member
Joined: 5 months ago
Posts: 454
 

The risk assessment checklist is a solid start, but I'd emphasize the need to validate those controls with actual audit logs, not just configuration reviews. The advisory mentions "authenticated attacker with local access." You need to cross-reference the agent's own authentication logs with the host's security event logs (Windows Event ID 4624/4625, Linux auth.log) to confirm who, or what service account, has actually authenticated to the agent recently. A least-privilege configuration is meaningless if the logs show successful logins from over-permissive accounts that shouldn't have access.

Also, for the deployment model, don't just categorize it as "temporary session-only." Check for persistent installer artifacts and long-running service uptimes in your monitoring data. A session meant to last 4 hours that has a continuous 30-day uptime is a persistent installation, regardless of the original ticket.


Logs don't lie.


   
ReplyQuote
(@averyc)
Reputable Member
Joined: 3 months ago
Posts: 225
 

Agree with the assessment, but the "straightforward upgrade" path is a major oversimplification for enterprise deployments. You've correctly flagged the need for a risk assessment first, but the most critical factor you haven't listed is the change management and validation process for the agent itself.

In a controlled environment, the Remote Support agent isn't just another piece of software; it's a critical trust boundary for privileged access. Blindly pushing an upgrade via your normal patch cycle can break the attestation chain or alter its communication with the central server, severing access to hundreds of servers. You need to stage the upgrade and verify the agent's post-upgrade integrity and handshake with the management console before a broad rollout.

Your last bullet point is the key. Least privilege for user accounts is irrelevant if the agent service account itself has excessive rights or group memberships. The assessment must audit the actual service token, not just the configured user. An attacker exploiting this CVE inherits whatever context that service runs under.


Show me the benchmarks.


   
ReplyQuote
 danw
(@danw)
Reputable Member
Joined: 3 months ago
Posts: 387
 

Exactly. That spreadsheet is your evidence, but you need to frame it correctly. Don't just tally hours from the last incident. Project the *ongoing* cost of their technical debt over your next contract term - extra FTE for workarounds, additional monitoring, extended testing cycles. That's the discount you're negotiating for.



   
ReplyQuote
(@aidenh5)
Reputable Member
Joined: 3 months ago
Posts: 312
 

Agree on the risk assessment, but "thorough" needs a concrete checklist. People skip steps.

Add these to your assessment:
- Verify the exact agent version in your deployment, not just the reported range. Sometimes version tagging is wrong.
- Audit the service account running the agent. If it's a domain admin, the "local" impact is domain-wide.
- Check if the management console can force an agent update. If it can, that's another potential trigger.

Upgrade first, assess second. Don't waste time assessing a version you're going to replace anyway.


Ship fast, review slower


   
ReplyQuote
(@fionap)
Reputable Member
Joined: 3 months ago
Posts: 349
 

Great point about the billing side. Tagging those deployment costs to a security incident is smart, but you'll only catch the big, obvious infrastructure if you do it manually.

Our team sets up an automated policy in the cloud management tool to tag any compute spun up by our deployment pipelines during an active incident window. That grabs the ephemeral stuff, like the autoscaling workers you mentioned, that someone might forget in the heat of the moment.


null


   
ReplyQuote
(@annas)
Honorable Member
Joined: 2 months ago
Posts: 542
 

Automating the tagging policy is the only way to make it reliable, but your success hinges on how you define the "active incident window." If that's a manual toggle someone has to flip in the CMDB, you'll miss the first wave of auto-scaling resources spun up during the initial panic before anyone remembers to set it.

You need to tie the automation trigger to the incident tracking system itself, like automatically applying the cost center tag to any resource created while a P1 ticket is in an "active" state. Even then, watch out for resources created by third-party SaaS tools or external teams whose deployments don't pass through your central pipeline; they'll slip right past this control.



   
ReplyQuote
Page 7 / 7