CVE-2025-67720

6.5 MEDIUM

📋 TL;DR

Pyrofork versions 2.3.68 and earlier are vulnerable to path traversal attacks when downloading media files from Telegram messages. Attackers can send specially crafted filenames that allow writing files outside the intended download directory, potentially leading to arbitrary file write. This affects any application using Pyrofork's download_media method without specifying a custom filename.

💻 Affected Systems

Products:
  • Pyrofork
Versions: 2.3.68 and earlier
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability is present when using download_media() without specifying a custom filename parameter, which is the default/common usage pattern.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Arbitrary file write leading to remote code execution, file system corruption, or sensitive data exposure by overwriting critical system files.

🟠

Likely Case

Directory traversal allowing attackers to write files to unintended locations, potentially disrupting application functionality or exfiltrating data.

🟢

If Mitigated

Limited to writing files within the application's directory if proper sandboxing and file permission controls are implemented.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires sending a malicious Telegram message to a vulnerable Pyrofork instance. The attacker must be able to send messages to the target bot/application.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.3.69

Vendor Advisory: https://github.com/Mayuri-Chan/pyrofork/security/advisories/GHSA-6h2f-wjhf-4wjx

Restart Required: Yes

Instructions:

1. Update Pyrofork to version 2.3.69 or later using pip: pip install --upgrade pyrofork>=2.3.69
2. Restart any applications using Pyrofork
3. Verify the update was successful

🔧 Temporary Workarounds

Use custom filenames

all

Always specify a custom filename parameter when calling download_media() instead of relying on the Telegram-provided filename

Sanitize filenames manually

all

Implement custom filename sanitization before passing to download_media()

🧯 If You Can't Patch

  • Implement strict file system permissions to limit write access to specific directories only
  • Run Pyrofork applications in a containerized or sandboxed environment with restricted file system access

🔍 How to Verify

Check if Vulnerable:

Check Pyrofork version: python -c "import pyrofork; print(pyrofork.__version__)" - if version is 2.3.68 or lower, you are vulnerable

Check Version:

python -c "import pyrofork; print(pyrofork.__version__)"

Verify Fix Applied:

After updating, verify version is 2.3.69 or higher using the same command

📡 Detection & Monitoring

Log Indicators:

  • Unusual file write patterns outside expected download directories
  • Path traversal patterns in downloaded filenames (../ sequences)

Network Indicators:

  • Telegram API requests with suspicious filename attributes containing path traversal sequences

SIEM Query:

Search for file write operations with paths containing '..' sequences or attempts to write outside application directories

🔗 References

📤 Share & Export