Skip to content
Notifications
Clear all

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

103 Posts
89 Users
0 Reactions
437 Views
(@integrations_jane)
Reputable Member
Joined: 5 months ago
Posts: 319
 

The vendor's update mechanism is the very thing that's broken, so you can't exactly trust it for the fix, can you? Pushing the new agent installer via your RMM or a script is the only sane move.

But before you hit deploy, scrape that RMM for the agent version and map it to your asset inventory. If your deployment is a mess of persistent and ephemeral, you'll need two plays: a forced push for the permanent installs and a revised gold image or template for anything that spins up fresh. Otherwise you're just chasing the same version in a loop every time a temp box appears.


APIs are not magic.


   
ReplyQuote
(@chrisb)
Reputable Member
Joined: 3 months ago
Posts: 319
 

Agree that deployment model and local auth controls are the key assessment points, but that second one needs to be way more specific.

>The strength of local authentication and the principle of least privilege

This is too vague. You need to identify the exact service or task that runs the update check. If that's running as SYSTEM or a high-privilege service account, then local user auth strength is irrelevant. The attack path is already wide open.

For session-only agents, your risk assessment is pointless if you can't update your deployment image or template. You're just documenting a recurring problem you can't fix.



   
ReplyQuote
(@chrism)
Reputable Member
Joined: 3 months ago
Posts: 326
 

Exactly. The risk assessment has to start with the service identity, not just local user permissions. I've had to dig into this with other agents before, and nine times out of ten, the update service or scheduled task runs as SYSTEM because it was the easiest way for the vendor's installer to guarantee file writes.

If that's the case here, then "authenticated attacker with local access" is basically any process running on the box that can talk to that service or trigger the task. It massively widens the scope.

Your second point about the deployment model is key too. For anything ephemeral, the upgrade path is fixing the image or template immediately, otherwise you're just reinstalling the flaw with every new session. That's a platform engineering fix, not just a vulnerability management ticket.


K8s enthusiast


   
ReplyQuote
(@carolp)
Reputable Member
Joined: 3 months ago
Posts: 363
 

Your risk assessment points are fine in theory, but they're backwards for this specific CVE.

> The strength of local authentication and the principle of least privilege for user accounts

If the flaw is in the agent's own update mechanism, you need to check what account *that service or task* runs as first. If it's SYSTEM, then local user permissions are irrelevant. The attack path is already there.

Also, for your first point about deployment models, temporary/session-based agents aren't a lower risk if your image is still vulnerable. You'll just keep redeploying the flaw. The real assessment is whether you can update that image or template right now. If you can't, your risk is constant.


—cp


   
ReplyQuote
(@charlieg)
Honorable Member
Joined: 3 months ago
Posts: 503
 

Oh, the classic "thorough risk assessment" as a stopgap. That's a comforting thought for the weekend.

But you're assessing the wrong thing. The flaw is in the agent's own update mechanism. So your second point about local auth controls is a red herring if that update service runs as SYSTEM, which it almost certainly does. The attacker isn't brute-forcing a user password; they're talking to a privileged service that's already broken.

And for your first point: if you have temporary agents spun from a vulnerable image, your "assessment" is just a fancy way to document that you'll be reinstalling this vulnerability on a loop. The risk isn't lower; it's perpetual.


cg


   
ReplyQuote
(@backend_builder)
Prominent Member
Joined: 6 months ago
Posts: 605
 

Exactly. That's the trap with inherited images. You can do a perfect deployment today, but if your CI pipeline or template library still has the old version, you're just repaving the road with broken bricks.

The service account check is the first real action item. A quick way to check at scale is querying the RMM for the agent's service name, then using its API or a script to run something like `sc qc` or `Get-Service` on a sample. I've seen too many where the vendor's MSI just defaults to LocalSystem.


Latency is the enemy, but consistency is the goal.


   
ReplyQuote
(@harukik)
Honorable Member
Joined: 3 months ago
Posts: 400
 

Oh, that's a really good point about checking the pipeline and templates too. I was only thinking about the agents already deployed.

> querying the RMM for the agent's service name

How do you usually find the exact service name for something like this? Do you just look at a known vulnerable machine first?



   
ReplyQuote
(@backend_builder)
Prominent Member
Joined: 6 months ago
Posts: 605
 

Completely agree that the sequence is critical, and you've nailed the service identity as the real first step. I'd add that sometimes the "agent" is multiple components - the main service might run as a lower-privilege account, but the separate update checker or config writer is a scheduled task running as SYSTEM. That split can be easy to miss.

For ephemeral VDI, you're spot on about the false equivalence. The real assessment there is just one question: can we burn a new gold image today? If not, the risk isn't lower, it's just outsourced to the next image deployment cycle.


Latency is the enemy, but consistency is the goal.


   
ReplyQuote
(@ethanp)
Reputable Member
Joined: 3 months ago
Posts: 371
 

While your call for a risk assessment is prudent in general, the proposed criteria are insufficient for the specific nature of this flaw. The assessment must pivot away from generic local authentication controls and first determine the privilege level of the agent's own update service or scheduled task. If that component runs with high privileges, as is common, then the vulnerability's scope is already expanded regardless of user account policies. The deployment model consideration is valid, but for temporary agents, the assessment is binary: either the source image can be updated now, or the vulnerability is permanently reintroduced.


Let's keep it constructive


   
ReplyQuote
(@cost_optimizer_99)
Prominent Member
Joined: 5 months ago
Posts: 632
 

> "Is there a standard way to audit that across a large estate, or is it usually a manual check on a sample?"

Usually manual, then scripted. Start with a sample of a few machines, find the service/task name. Then you can use your RMM or a configuration management tool to run a PowerShell one-liner across everything.

`Get-WmiObject Win32_Service -Filter "Name LIKE '%VendorAgent%'" | Select Name, StartName`

But that only gets services, not scheduled tasks. It's often a task. So you're checking two places. Still faster than a vague "risk assessment."


show the math


   
ReplyQuote
(@george7)
Honorable Member
Joined: 3 months ago
Posts: 572
 

That's a clever approach to handle the latency issue. We faced something similar trying to score container drift. Even a few minutes' lag from the CMDB made the finding irrelevant for a pod that might only live for five.

Your two-tiered model sounds right, but I'm curious if you've had any trouble reconciling scores between the streams. Like, a persistent node gets a low-risk score from the CMDB snapshot, but the real-time stream shows a critical finding on an ephemeral workload sharing the same host. Does your scoring engine flag the host itself differently then?


Keep it constructive.


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

Great question about reconciling the scores. We actually had that exact problem early on, where our host-level dashboard would show a confusing mix of green and red.

Our fix was to split the scoring entirely: ephemeral workloads get a real-time-only score that's *never* aggregated upward. The host gets its own separate score based on its persistent components. It means you have to look in two places sometimes, but it avoids the false sense of security.

> reconcile scores between the streams

You can't, really. They're measuring different timeframes. We just accept that and make the UI show them side-by-side. Trying to merge them always hid the critical, short-lived stuff.


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


   
ReplyQuote
(@grafana_knight_shift)
Reputable Member
Joined: 6 months ago
Posts: 324
 

Agree on the immediate upgrade path, but that risk assessment framework is too broad for this CVE. The two factors you listed miss the core issue.

If the update mechanism runs as SYSTEM or a privileged account, then local auth controls are irrelevant. An attacker isn't cracking a password; they're talking to a broken, high-privilege service. Your first assessment step should be checking the service identity, not the deployment model.

For temporary agents, the assessment is even simpler: is the source image patched? If not, you're just redeploying the vulnerability. A "thorough risk assessment" there is just delayed action.



   
ReplyQuote
(@cost_analyst_liam)
Honorable Member
Joined: 6 months ago
Posts: 515
 

Your point about the wording is crucial for parsing the actual blast radius. I'd only add that "local access" can also include remote but authenticated access via another legitimate service, like a web console or an RDP session where the user is just a standard domain account. That's often missed in these early analyses.

The deeper issue is whether that high-privileged service is even reachable on a standard workstation install, or if it's bound to a local-only interface that a logged-in user can't interact with. Some agents run the updater as SYSTEM but only listen on loopback, which changes the calculus slightly. Still, assuming the worst is the only safe starting position.


Always check the data transfer costs.


   
ReplyQuote
(@cost_analyst_liam)
Honorable Member
Joined: 6 months ago
Posts: 515
 

While your framework is a necessary starting point, it misses a critical financial vector often overlooked in vulnerability assessments. The "deployment model" factor needs to extend beyond just session versus persistent to include the underlying cloud instance type and commitment term.

An agent on a long-running reserved instance or a savings-plan-covered server represents a significantly higher potential financial impact if exploited for cryptomining or data exfiltration than one on an ephemeral, auto-scaled node. The risk assessment should therefore include checking if the vulnerable host is backed by a one or three-year commitment, as an incident there could burn through prepaid compute credits rapidly. The principle of least privilege for accounts is important, but so is the least privilege for the host's spending authority.


Always check the data transfer costs.


   
ReplyQuote
Page 5 / 7