CVE-2021-32772
📋 TL;DR
This vulnerability allows attackers to inject malicious HTML/JavaScript into podcast feeds, which Poddycast renders without sanitization. As an Electron application, this cross-site scripting can escalate to remote code execution, enabling command execution on the victim's machine. All users running Poddycast versions before 0.8.1 are affected.
💻 Affected Systems
- Poddycast
📦 What is this software?
Poddycast by Electronjs
⚠️ Risk & Real-World Impact
Worst Case
Full remote code execution on the client machine, allowing attackers to install malware, steal data, or compromise the system.
Likely Case
Arbitrary JavaScript execution in the application context, potentially leading to data theft, session hijacking, or further exploitation.
If Mitigated
Limited to same-origin JavaScript execution if proper sandboxing is in place, but Electron's nodeIntegration often bypasses this.
🎯 Exploit Status
Exploitation requires creating a malicious podcast feed with HTML/JS payloads. The advisory includes technical details showing the vulnerable code paths.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.8.1
Vendor Advisory: https://github.com/MrChuckomo/poddycast/security/advisories/GHSA-wjmh-9fj2-rqh6
Restart Required: Yes
Instructions:
1. Download Poddycast version 0.8.1 or later from the official repository. 2. Uninstall the old version. 3. Install the new version. 4. Restart the application.
🔧 Temporary Workarounds
Disable automatic feed updates
allPrevent automatic fetching of new podcast episodes which could contain malicious payloads
Use feed sanitization proxy
allRoute all podcast feeds through a proxy that sanitizes HTML content before it reaches Poddycast
🧯 If You Can't Patch
- Discontinue use of Poddycast and switch to alternative podcast applications
- Implement network-level controls to block access to untrusted podcast feed sources
🔍 How to Verify
Check if Vulnerable:
Check the application version in Poddycast settings or via 'About' menu. If version is below 0.8.1, it is vulnerable.
Check Version:
Check 'About Poddycast' in the application menu or look for version information in the application's settings panel.
Verify Fix Applied:
After updating, verify the version is 0.8.1 or higher. Test by subscribing to a test feed with HTML content to ensure it's properly sanitized.
📡 Detection & Monitoring
Log Indicators:
- Unusual HTML/JavaScript content in podcast feed parsing logs
- Unexpected child process spawns from Poddycast
Network Indicators:
- Connections to unusual podcast feed URLs
- Downloads of podcast feeds containing script tags or event handlers
SIEM Query:
process_name:"Poddycast" AND (process_spawn:* OR network_connection_to:unusual_domain)
🔗 References
- https://github.com/MrChuckomo/poddycast/blob/8d31daa5cee04a389ec35f974959ea3fe4638be9/app/js/favorite.js#L4-L14
- https://github.com/MrChuckomo/poddycast/blob/8d31daa5cee04a389ec35f974959ea3fe4638be9/app/js/feed.js#L285
- https://github.com/MrChuckomo/poddycast/blob/8d31daa5cee04a389ec35f974959ea3fe4638be9/app/js/helper/helper_entries.js#L80
- https://github.com/MrChuckomo/poddycast/security/advisories/GHSA-wjmh-9fj2-rqh6
- https://github.com/MrChuckomo/poddycast/blob/8d31daa5cee04a389ec35f974959ea3fe4638be9/app/js/favorite.js#L4-L14
- https://github.com/MrChuckomo/poddycast/blob/8d31daa5cee04a389ec35f974959ea3fe4638be9/app/js/feed.js#L285
- https://github.com/MrChuckomo/poddycast/blob/8d31daa5cee04a389ec35f974959ea3fe4638be9/app/js/helper/helper_entries.js#L80
- https://github.com/MrChuckomo/poddycast/security/advisories/GHSA-wjmh-9fj2-rqh6