Security & Privacy · Clash Technical Blog

How to Handle the Clash Party rule-providers Command-Injection Risk

Clash Party v2.0.3 fixes possible command execution through malicious rule-providers configurations. Close suspicious resources, disable the configuration, and upgrade from the official source. Disconnect and preserve evidence if unknown processes or alerts appear; do not run a PoC for verification.

  • Clash Party
  • v2.0.3
  • rule-providers
  • Command injection
  • Security update
On this page

If the subscription source is unclear, or you do not yet know whether the current version includes the fix, stop viewing MRS rule resources and disable suspicious configurations. Working connectivity does not rule out command execution by the old implementation. If unfamiliar processes, alerts, or file changes appear, disconnect from the network and preserve the system’s state. An update containing the fix cannot undo commands that have already run.

Close Suspicious Rulesets and Profile Files; Disconnect if Anomalies Appear

If you cannot yet confirm the version, close Clash Party's ruleset resource viewer first and do not click the suspicious rule-provider again. Pause automatic updates and use of the suspicious Profile, then switch to a configuration you saved and whose source you previously verified. If you cannot switch safely, quit Clash Party completely.

Do not edit behavior in the suspicious configuration and keep testing, and do not upload the entire subscription to an online scanner. A subscription URL may contain a token, while ruleset addresses, node credentials, and script contents may expose account or network details.

If the system already shows an unknown command window, unfamiliar process, security-software alert, unexpected outbound connection, or modified file, disconnect the device from the network immediately and follow the incident-response steps later in this guide. Upgrading the application alone cannot prove that an already executed command has been undone.

Treat Unknown Processes or Alerts as a Security Incident

If an unknown command window, unfamiliar process, unexpected outbound connection, operating-system security alert, startup item, or modified file appears around the time a rules resource was opened, do not treat this as an ordinary client upgrade. Disconnect from the network, preserve the device's current state, and record the timeline, processes, connections, alerts, and file paths.

Run an offline or full scan with security tools approved by the operating-system vendor or your organization. Revoke and reissue the subscription token, node credentials, WebDAV credentials, GitHub Token, browser sessions, and any other credentials accessible to the current user from another trusted device.

Upgrading to v2.0.3 only closes the old conversion path; it cannot remove a program that already ran or recover leaked credentials. If system integrity cannot be confirmed, reinstall the operating system and client from official media, restore only verified clean data, and do not copy the entire old application directory back.

The Risk Comes from the MRS Viewer’s Command-Execution Path

The official Clash Party v2.0.3 release notes explicitly fix a security issue in which a malicious rule-providers configuration could execute arbitrary commands. The corresponding commit 588aaa6 explains that the old convertMrsRuleset implementation concatenated rule-providers.behavior and the ruleset path into a shell command.

behavior comes from the active configuration, which may be supplied by a user's subscription YAML. A malicious or compromised subscription can insert an abnormal behavior value. The fix commit also notes that, on Windows, a ruleset path containing embedded double quotes could break the old command's quoting boundary.

If the user then opens the corresponding MRS ruleset in the resource viewer, the old implementation may let the operating-system shell interpret those values and execute a command with the privileges of the current Clash Party user.

The fix replaces shell-string execution with an execFile argument array and restricts behavior to the Mihomo-supported values domain, ipcidr, and classical. It fixes Clash Party's ruleset-conversion path, not the Mihomo rule-providers format itself, and it is not a general vulnerability in every Clash client.

Upstream has not published an earliest affected version, CVE, GHSA, severity rating, or conclusion about exploitation in the wild. Seeing an older version or an unknown subscription alone does not prove that a device was exploited. However, if the actual version is below v2.0.3, the configuration source is untrusted, and the corresponding MRS resource was opened, contain the exposure and upgrade immediately as described here.

Quick scope check

Current situationWhat You Can ConcludeNext step
Actually running Clash Party v2.0.3 or laterIncludes this upstream fixContinue checking the configuration source and actual version
Version below v2.0.3 with a subscription from an unknown sourceDoes not prove that this fix is included; treat it as potentially affectedStop opening the resource and upgrade
Using only the Mihomo core or another clientDoes not mean this Clash Party implementation appliesJudge by evidence from the client actually in use
Unknown processes, alerts, or configuration changes appearTreat it as a possible compromiseDisconnect, preserve evidence, and rotate credentials
No obvious pop-up or anomalyDoes not prove the old path is safeStill complete the version and source checks

Record the Current State and Install a Fixed Stable Release

Read the actual application version from Clash Party's About or update page, and record the operating system and installation architecture. Do not rely only on the download filename, an old screenshot, or the Mihomo core version; this fix is in the Clash Party application itself.

Do not open the ruleset resource contents. Record whether the suspicious Profile was imported manually, loaded from a local file or obtained through a remote subscription. Save its source, last update time, approximate time the resource was opened and first anomaly, and check whether rule-providers contains MRS resources. Keep the material as read-only evidence; do not clean it up.

Record only the provider name, type, behavior, format, and a redacted source domain or path. On Windows, also note whether the path contains unexpected double quotes. Do not copy node passwords or the subscription token.

Keep read-only copies of the Clash Party logs, operating-system security logs, and current configuration. Without evidence of an anomaly, do not treat every normal mihomo child process, rule download, or temporary file as an intrusion. If there is a clear alert, do not delete files or reinstall first, as this may overwrite records needed to reconstruct what happened.

Clash Party v2.0.3 was released on 9/20/2026, and both the official release notes and commit 588aaa6 include this fix. The minimum target is to actually run v2.0.3. If upstream later provides a newer stable release, confirm that it still contains this commit.

Choose an installer that matches the system and architecture from the official mihomo-party-org/clash-party release. On Windows, distinguish x64, ia32, and ARM64; on macOS, distinguish Intel and Apple Silicon; on Linux, also choose the DEB, RPM, or PACMAN format used by the current distribution.

Complete the official upgrade

  1. Confirm the system and architecture

    Choose the project’s official v2.0.3 asset for your system and architecture. Do not use a same-named installer from a search ad, file-sharing drive, or chat attachment.

  2. Keep a private backup

    Save copies of the settings and trusted Profiles. Keep a suspicious configuration only as read-only evidence; do not restore it directly into the new environment.

  3. Quit the old application completely

    Confirm that the tray process and the Clash Party application have both exited, then upgrade with the official installer. Do not overwrite individual program files to retain an old plugin.

  4. Read the actual version

    After restarting, confirm in the application that the version is not below v2.0.3, and record the upgrade completion time.

Updating the Mihomo core, refreshing a subscription, or replacing only a ruleset does not upgrade the Clash Party application.

Obtain a trusted subscription again and inspect rule-providers

Do not immediately re-enable the original suspicious Profile after the upgrade. If a remote subscription may have been compromised or its source cannot be confirmed, contact the service provider to verify the official address, invalidate the old subscription token, and issue a new one. Rotate the token on a trusted device.

Inspect rule-providers in the new configuration. Mihomo's documentation lists domain, ipcidr, and classical as the three general behavior values, but format: mrs supports only domain and ipcidr. classical can be used with other supported formats and must not be combined with MRS.

Do not load any value that contains shell operators or command fragments, or that violates the required format/behavior pairing. Also verify the domain, path, update channel, and expected format of each provider URL.

Restore nodes and rules only from a new configuration with a known source. Do not copy suspicious YAML, cached MRS files, or unknown scripts back unchanged. When comparison is necessary, inspect text differences in an offline, read-only copy rather than clicking the resource viewer and triggering conversion.

Before deleting suspicious MRS cache files, preserve their evidence hashes and timestamps.

Verify v2.0.3 and a real connection without running a PoC

The first security acceptance check is that the actual Clash Party version is not below v2.0.3. The second is to import only a Profile with a known source, a valid format/behavior pairing, and a normal path, then confirm that the ruleset list loads normally. There is no need to construct a malicious value to prove that the filter works.

Open one known MRS resource in a trusted Profile and confirm that it uses domain or ipcidr, that the resource viewer can display the rules, and that the application does not launch an unexpected command interpreter or unknown child process. Then select a known working node and verify the subscription update, a rule match, and one real HTTPS request.

Fully exit and restart Clash Party, then check the version and Profile again. The correct version, working ruleset resources, and successful real requests should all remain after restart.

Still unable to use Clash Party after upgrading? Disable it and avoid vulnerable versions

If v2.0.3 has an installation, startup, or plugin-compatibility problem on the current device, do not downgrade to a version containing the old conversion path merely to restore functionality. Quit Clash Party completely, keep the suspicious Profile disabled, and use another verified, maintained client or a system-proxy arrangement for necessary connectivity.

If you need to continue using Clash Party, keep only an offline backup of trusted configurations and follow later official stable releases and relevant issues. Once a newer version starts normally, restore the system proxy, TUN, subscription updates, and rules-resource viewing one at a time instead of copying the entire old data directory at once.

If the problem occurs only with one third-party ruleset or subscription, ask the provider to fix the configuration rather than loosening behavior validation or re-enabling the old shell execution. When reporting upstream, include the system, architecture, version, first error, and redacted reproduction steps, but do not include the subscription token or an executable payload.

The installed version is still below v2.0.3

Stop using the old instance and check whether another portable copy or old installation directory was launched.

The new version will not start

Preserve the logs and use a maintained alternative client; do not restore the old conversion path.

A trusted ruleset cannot be viewed

Check behavior and the format first, then submit redacted evidence to the rules provider or Clash Party.

The proxy works, but an unknown process or alert appears

Treat it as a security incident; working connectivity cannot rule out command execution.

Verification Records for Subscription Source or Structure Changes

This fix shows that a subscription is more than a node list: it can also provide structured fields such as rule-providers to the client. For long-term maintenance, record the subscription provider, rule-provider domains, behavior values, latest verification time, and current Clash Party version.

Keep automatic app updates enabled or check the official Release regularly. If the subscription domain, issuance method, or content structure changes, compare it offline before putting it back into your usual Profile. For rule sets that are no longer maintained or whose origin cannot be explained, removing their references from the configuration is more reliable than continuing to depend on client-side filtering.

This assessment is based on the official Release and fix commit. If the project later publishes a GHSA, CVE, affected versions, or new measures, update the records from official guidance rather than inferring severity or scale from secondhand headlines.

References