/

CVE-2026-108159

Severity:

HIGH RISK

(7.5)

Cross-Site Scripting (CWE-79) in AstronRPA Desktop Chat

CVE-2026-108159

Deferred

Vulnerability type

Category:

Cross-Site Scripting

CWE:

CWE-79

Impact:

Remote Code Execution

Severity:

HIGH RISK

(7.5)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

AstronRPA's desktop smart-component chat may render unsanitized large language model output as HTML, allowing attacker-controlled content to trigger client-side scripting. In deployments where a web page can influence model output, this may reach an unrestricted IPC path and execute operating-system commands with the desktop user's privileges.

AstronRPA's desktop smart-component chat may render unsanitized large language model output as HTML, allowing attacker-controlled content to trigger client-side scripting. In deployments where a web page can influence model output, this may reach an unrestricted IPC path and execute operating-system commands with the desktop user's privileges.

Affected context

The issue occurs in the AstronRPA desktop client's smart-component chat when model-generated content is inserted into the interface through an HTML-rendering mechanism such as v-html without adequate sanitization. Risk increases when untrusted web content can influence prompts or model responses and the desktop client exposes powerful IPC handlers without effective authorization or argument restrictions.

The issue occurs in the AstronRPA desktop client's smart-component chat when model-generated content is inserted into the interface through an HTML-rendering mechanism such as v-html without adequate sanitization. Risk increases when untrusted web content can influence prompts or model responses and the desktop client exposes powerful IPC handlers without effective authorization or argument restrictions.

Exploit preconditions

  • Attack surface: The desktop client's smart-component chat and its HTML rendering path
  • Required access: Ability to influence content reaching the application's LLM prompt or response
  • Trigger point: Rendering model output and handling resulting client-side events
  • Required capability: Access to a web page or other content source that can introduce prompt-injection material
  • Why exploitation is possible: Unsanitized HTML may enable script execution, while an unrestricted IPC handler can expose privileged operating-system functionality to the desktop user context
  • Attack surface: The desktop client's smart-component chat and its HTML rendering path
  • Required access: Ability to influence content reaching the application's LLM prompt or response
  • Trigger point: Rendering model output and handling resulting client-side events
  • Required capability: Access to a web page or other content source that can introduce prompt-injection material
  • Why exploitation is possible: Unsanitized HTML may enable script execution, while an unrestricted IPC handler can expose privileged operating-system functionality to the desktop user context

Why this happens

The underlying bug is an output-encoding failure associated with CWE-79, Cross-Site Scripting. LLM-generated text is treated as trusted markup and rendered as active HTML rather than being encoded or sanitized according to a strict allowlist. The risk is amplified by exposing privileged desktop functionality to the renderer without strong capability checks, origin validation, or constrained argument handling. This creates a path from script execution in the chat interface to operating-system command execution.

The underlying bug is an output-encoding failure associated with CWE-79, Cross-Site Scripting. LLM-generated text is treated as trusted markup and rendered as active HTML rather than being encoded or sanitized according to a strict allowlist. The risk is amplified by exposing privileged desktop functionality to the renderer without strong capability checks, origin validation, or constrained argument handling. This creates a path from script execution in the chat interface to operating-system command execution.

Potential impact

  • An attacker may execute operating-system commands as the desktop user.
  • The attacker could access or modify user-accessible files and application data.
  • Session information, tokens, or other sensitive data may be exposed.
  • The desktop client could be used to alter local settings or stage further compromise.
  • Organizational systems may be affected if the desktop account has network or administrative access.
  • An attacker may execute operating-system commands as the desktop user.
  • The attacker could access or modify user-accessible files and application data.
  • Session information, tokens, or other sensitive data may be exposed.
  • The desktop client could be used to alter local settings or stage further compromise.
  • Organizational systems may be affected if the desktop account has network or administrative access.

General mitigation guidance

Mitigation generally focuses on treating all model output and web-derived

content as untrusted, while minimizing renderer privileges.

Common defensive patterns include:

  • Rendering model output as text by default rather than interpreting it as HTML.
  • Applying context-aware output encoding and a strict, allowlisted HTML sanitizer when limited markup is required.
  • Separating model-generated content from executable UI behavior and preventing event-handler attributes or active URL schemes.
  • Exposing only narrowly scoped IPC capabilities through explicit, authenticated, and origin-validated interfaces.
  • Validating and constraining IPC arguments without passing user-controlled strings to shell interpreters.
  • Applying least privilege to the desktop process and limiting filesystem, process, and network access.
  • Treating prompt-injection defenses as an additional control rather than a substitute for output sanitization and IPC isolation.

Mitigation generally focuses on treating all model output and web-derived

content as untrusted, while minimizing renderer privileges.

Common defensive patterns include:

  • Rendering model output as text by default rather than interpreting it as HTML.
  • Applying context-aware output encoding and a strict, allowlisted HTML sanitizer when limited markup is required.
  • Separating model-generated content from executable UI behavior and preventing event-handler attributes or active URL schemes.
  • Exposing only narrowly scoped IPC capabilities through explicit, authenticated, and origin-validated interfaces.
  • Validating and constraining IPC arguments without passing user-controlled strings to shell interpreters.
  • Applying least privilege to the desktop process and limiting filesystem, process, and network access.
  • Treating prompt-injection defenses as an additional control rather than a substitute for output sanitization and IPC isolation.

How teams detect issues like this

High-level detection can include:

  • Static analysis for v-html, innerHTML, template compilation, or equivalent unsafe rendering of model or web-derived data.
  • Code review checks for renderer-to-main IPC channels that expose filesystem, process, or shell functionality.
  • Searches for shell invocation APIs receiving renderer-controlled or model-derived values.
  • Tests that verify active HTML, event handlers, dangerous URL schemes, and unexpected markup are encoded or rejected.
  • Runtime monitoring for unusual child-process creation or command execution by the desktop client.
  • Policy enforcement requiring security review for new IPC handlers and forbidding unrestricted renderer capabilities.

Automated code review and application security tools may help identify unsafe sinks and overly broad IPC interfaces.

High-level detection can include:

  • Static analysis for v-html, innerHTML, template compilation, or equivalent unsafe rendering of model or web-derived data.
  • Code review checks for renderer-to-main IPC channels that expose filesystem, process, or shell functionality.
  • Searches for shell invocation APIs receiving renderer-controlled or model-derived values.
  • Tests that verify active HTML, event handlers, dangerous URL schemes, and unexpected markup are encoded or rejected.
  • Runtime monitoring for unusual child-process creation or command execution by the desktop client.
  • Policy enforcement requiring security review for new IPC handlers and forbidding unrestricted renderer capabilities.

Automated code review and application security tools may help identify unsafe sinks and overly broad IPC interfaces.

Sources

SourceLink
github.comgithub.com/iflytek/astron-rpa
github.comgithub.com/iflytek/astron-rpa/blob/8b015bc1b15d23fbdc55c78ff1de9af4bb65fba6/frontend/packages/web-app/src/components/SmartComponent/hooks/useChatContext.tsx#L203
github.comgithub.com/iflytek/astron-rpa/issues/892
vulncheck.comvulncheck.com/advisories/astronrpa-through-1.1.6-rce-via-smart-component-chat-xss-and-ipc-bridge

Frequently asked

questions

It can be triggered through attacker-controlled web content or other remote

content when that content can influence the LLM interaction used by the

desktop client. Successful exploitation still depends on the affected client

rendering the resulting output and exposing the relevant IPC capability.

Direct local access is not necessarily required. The key conditions are the

ability to influence content reaching the chat workflow and a victim using a

vulnerable desktop client. The resulting commands run with the victim's local

user privileges.

Treat LLM output as untrusted text, use strict allowlisted sanitization only

when formatted markup is necessary, and isolate the renderer from privileged

IPC operations. IPC interfaces should expose narrow operations with validated

arguments rather than shell-capable functionality.

Combine secure rendering defaults, prompt and content trust-boundary reviews,

least-privilege desktop permissions, IPC allowlists, static analysis, and

tests for injection through both web content and model-generated responses.

It can be triggered through attacker-controlled web content or other remote

content when that content can influence the LLM interaction used by the

desktop client. Successful exploitation still depends on the affected client

rendering the resulting output and exposing the relevant IPC capability.

Direct local access is not necessarily required. The key conditions are the

ability to influence content reaching the chat workflow and a victim using a

vulnerable desktop client. The resulting commands run with the victim's local

user privileges.

Treat LLM output as untrusted text, use strict allowlisted sanitization only

when formatted markup is necessary, and isolate the renderer from privileged

IPC operations. IPC interfaces should expose narrow operations with validated

arguments rather than shell-capable functionality.

Combine secure rendering defaults, prompt and content trust-boundary reviews,

least-privilege desktop permissions, IPC allowlists, static analysis, and

tests for injection through both web content and model-generated responses.

Find out what's already
exploitable in your codebase.