On this page
Confirm the trigger conditions for this risk first
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 situation | What You Can Conclude | Next step |
|---|---|---|
| Actually running Clash Party v2.0.3 or later | Includes this upstream fix | Continue checking the configuration source and actual version |
| Version below v2.0.3 with a subscription from an unknown source | Does not prove that this fix is included; treat it as potentially affected | Stop opening the resource and upgrade |
| Using only the Mihomo core or another client | Does not mean this Clash Party implementation applies | Judge by evidence from the client actually in use |
| Unknown processes, alerts, or configuration changes appear | Escalate to a security incident | Disconnect, preserve evidence, and rotate credentials |
| No obvious pop-up or anomaly | Does not prove the old path is safe | Still complete the version and source checks |
Immediately isolate the suspicious Profile and ruleset viewer
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.
Create a contained state that you can safely roll back
Close the resource viewer
Do not open unknown MRS rulesets again or use any supposed online vulnerability-check page.
Disable the suspicious configuration
Pause automatic updates and use of the Profile. If you need connectivity, switch only to a configuration with a known source that was verified before the upgrade.
Preserve the minimum evidence
Record the Clash Party version, Profile name, subscription source, approximate time the resource was opened, and the first anomaly. Do not run a cleanup.
Decide whether to disconnect based on symptoms
Disconnect immediately if you find an unknown process, alert, outbound connection, or file change. If there are no signs of intrusion, keep the resource viewer closed and proceed with the official upgrade.
Record the actual version, configuration source, and available evidence
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.
Without opening the ruleset resource contents, record whether the suspicious Profile was imported manually, loaded from a local file, or received through a remote subscription; also record its latest update time and whether rule-providers contains an MRS resource.
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.
Preserve Clash Party logs, operating-system security logs, and a read-only copy of the current configuration. Without evidence of an anomaly, do not treat every normal mihomo child process, rules download, or temporary file as an intrusion. If there is a clear alert, do not delete files or reinstall first and overwrite the timeline.
Pre-upgrade record checklist
- The actual Clash Party version, operating system, and CPU architecture are recorded
- The source and latest update time of the suspicious Profile are recorded
- Whether the corresponding MRS ruleset resource was opened is recorded on the timeline
- The public copy has the subscription token, node credentials, secret, and real server addresses removed
- Original logs and configurations are stored in a private, read-only location and were not overwritten by cleanup
Upgrade to v2.0.3 from the official release
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.
Quit the old application completely and keep a backup of the current settings before upgrading. Do not obtain a same-named installer from a search ad, file-sharing drive, or chat attachment, and do not overwrite individual v2.0.3 program files merely to retain an old plugin.
After installation, reopen the About page and confirm the actual version. Updating the Mihomo core, refreshing a subscription, or replacing only a ruleset does not replace upgrading the Clash Party application.
Complete the official upgrade
Confirm the system and architecture
Choose the official v2.0.3 asset for the current device; do not guess another architecture from the filename.
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.
Quit the old application completely
Confirm that the tray process and the main Clash Party application have exited, then upgrade with the official installer.
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.
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.
rule-providers review boundaries
| Check | Expected boundary | Action when abnormal |
|---|---|---|
| General behavior | domain, ipcidr, or classical | Disable the Profile; do not guess a replacement value |
| format: mrs | Pair only with domain or ipcidr | Do not use classical + mrs; contact the provider for a correction |
| Windows path | Contains no abnormal characters such as embedded double quotes | Preserve redacted evidence and stop opening the resource |
| Provider source | An address explicitly published by the service or project | Reissue the subscription and verify the domain |
| MRS cache | Downloaded again from a trusted configuration | Preserve the evidence hash and timestamp of the suspicious copy before deleting it |
| Subscription token | Used only in private configurations and the client | Revoke and reissue it from a trusted device |
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.
Finally, quit and restart Clash Party completely, then check the version and Profile again. The correct version, a working rules resource, and a successful real request must all be present to show that the upgrade went beyond the installer screen.
v2.0.3 security-update acceptance checklist
- The Clash Party version actually running is not below v2.0.3
- Only Profiles with known sources, valid format/behavior pairings, and normal paths were restored
- A trusted MRS resource can be viewed, and no PoC or unknown script was run
- No unexpected command interpreter, unknown child process, or new security alert appeared
- The subscription update, rule match, and real HTTPS request all completed
- The version and trusted Profile remain correct after a restart
Treat suspected command execution 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.
Minimum actions for suspected exposure
- The device is disconnected, and Clash Party and the suspicious Profile are no longer running
- The version, configuration source, resource-open time, alerts, and unusual connections are recorded
- Original logs and configurations are preserved, and public copies are redacted
- A trusted security tool has completed a full scan
- Potentially exposed tokens and cloud credentials were rotated on a trusted device
- The old application directory was not restored directly when integrity could not be confirmed
Fall back the affected function, not to a vulnerable version
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.
Treat subscriptions and rulesets as untrusted input going forward
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 application updates enabled or check official releases regularly. When a subscription domain, issuance method, or content structure changes, compare it offline before returning it to a regular Profile. For a ruleset that is no longer maintained or whose source cannot be explained, removing the dependency is more reliable than continuing to rely on client-side filtering.
The official release and fix commit define the factual boundary of this guidance. If upstream later publishes a GHSA, CVE, affected-version range, or new mitigation, update the assessment from that official statement rather than inferring severity or affected scale from a secondary headline.
Long-Term Maintenance Record
| Item to record | Purpose | When to review |
|---|---|---|
| Clash Party version | Confirm that the security fix is included | After every application upgrade |
| Profile and subscription source | Identify entry points for untrusted configurations | When the subscription address or provider changes |
| rule-providers and behavior | Limit ruleset types and the conversion scope | After every configuration-structure change |
| Official release and commit | Avoid treating a secondary report as a maintainer conclusion | When a new alert or stable release appears |
