T03 · Remote Payload Retrieval and Execution
Error
- Location
- meituan-passport-user-auth/reference.md:137
- Finding
- Remote Node.js installer is piped directly into Bash<![CDATA[ ## Vulnerability Details **File Location**: `meituan-passport-user-auth/reference.md:137` **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: Critical ### Vulnerable Code ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash ``` ### Technical Analysis The installation instructions download shell code from an external URL and execute it immediately. Although the URL points to the established `nvm-sh/nvm` repository and references a version tag, the downloaded content is not verified with a cryptographic signature or pinned checksum before execution. This creates a remote code-execution channel whose effective payload is controlled outside the reviewed Skill package. Compromise of the upstream repository, release tag, distribution infrastructure, DNS/TLS path, or user environment could cause arbitrary commands to execute with the privileges of the user following the instructions. The behavior is not necessary for the Skill's travel or authentication functionality. Node.js installation can be handled through a trusted package manager or a separately downloaded and verified installer. ### Attack Path 1. The Skill reports that npm or the required Node.js version is unavailable. 2. The user follows the fallback installation instructions in `reference.md`. 3. `curl` retrieves the remote shell script. 4. The response is passed directly to Bash without inspection or integrity verification. 5. Any commands present in the response execute with the invoking user's permissions. ### Impact Assessment Successful exploitation provides arbitrary code execution under the invoking account. This can expose local files, cached authentication tokens, environment variables, SSH credentials, browser data, and other user-accessible secrets. The executed payload could also modify shell profiles or install additional persistent components if permitted by the account. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the `curl | bash` instruction. - Prefer an operating-system package manager or the official signed Node.js installer. - If nvm must be used, download a versioned artifact to disk first. - Verify the artifact against a pinned SHA-256 checksum or trusted cryptographic signature. - Present the downloaded script for inspection before executing it. - Fail closed when verification cannot be completed. - Document the expected publisher, version, checksum, and installation effects. ]]>
