{"id":"GHSA-3x5x-fw77-g54c","aliases":[],"status":"published","title":"dmlc/dgl Vulnerable to Remote Code Execution by Pickle Deserialization via rpc.recv_request()","description":"### Impact\nDgl implements rpc server (start_server() in rpc_server.py) for supporting the RPC communications among different remote users over networks. It relies on pickle serialize and deserialize to pack and unpack network messages. The is a known risk in pickle deserialization functionality that can be used for remote code execution.\n\n### Patches\nTBD.\n\n### Workarounds\nWhen running DGL distributed training and inference (DistDGL) make sure you do not assign public IPs to any instance in the cluster.\n\n### References\nIssue #7874\n\n### Reported by\nPinji Chen ([cpj24@mails.tsinghua.edu.cn](mailto:cpj24@mails.tsinghua.edu.cn)) from NISL lab (https://netsec.ccert.edu.cn/about) at Tsinghua University","severity":{"version":"4.0","score":8.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-502"],"published":"2025-03-05T19:50:09Z","modified":"2025-03-05T20:09:21Z","affected":[{"source":"ghsa","ecosystem":"PyPI","package":"dgl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.4.0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"dgl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.4.0"}]}],"versions":["0.0.1","0.1.0","0.1.2","0.1.3","0.2","0.3","0.3.1","0.4","0.4.1","0.4.2","0.4.3","0.4.3.post1","0.4.3.post2","0.4rc190819","0.4rc190821","0.4rc190822","0.4rc190823","0.4rc190824","0.4rc190826","0.4rc190902","0.4rc190903","0.4rc190904","0.4rc190905","0.4rc190906","0.4rc190908","0.4rc190909","0.4rc190910","0.4rc190911","0.4rc190912","0.4rc190915","0.4rc190916","0.4rc190917","0.4rc190918","0.4rc190920","0.4rc190921","0.4rc190923","0.4rc190924","0.4rc190927","0.4rc190928","0.4rc190929","0.4rc191001","0.4rc191003","0.4rc191004","0.4rc191005","0.5.0","0.5.1","0.5.2","0.5.3","0.6.0","0.6.0.post1","0.6.1","0.8.0.post1","0.9.0","0.9.1","1.0.0","1.0.1","1.0.4","1.1.0","1.1.1","1.1.2","1.1.2.post1","1.1.3","2.0.0","2.1.0","2.2.0","2.2.1"]}],"references":[{"url":"https://github.com/dmlc/dgl/security/advisories/GHSA-3x5x-fw77-g54c","tags":["web"]},{"url":"https://github.com/dmlc/dgl/issues/7874","tags":["web"]},{"url":"https://github.com/advisories/GHSA-3x5x-fw77-g54c"},{"url":"https://github.com/dmlc/dgl","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-3x5x-fw77-g54c","title":"dmlc/dgl Vulnerable to Remote Code Execution by Pickle Deserialization via rpc.recv_request()","description":"### Impact\nDgl implements rpc server (start_server() in rpc_server.py) for supporting the RPC communications among different remote users over networks. It relies on pickle serialize and deserialize to pack and unpack network messages. The is a known risk in pickle deserialization functionality that can be used for remote code execution.\n\n### Patches\nTBD.\n\n### Workarounds\nWhen running DGL distributed training and inference (DistDGL) make sure you do not assign public IPs to any instance in the cluster.\n\n### References\nIssue #7874\n\n### Reported by\nPinji Chen ([cpj24@mails.tsinghua.edu.cn](mailto:cpj24@mails.tsinghua.edu.cn)) from NISL lab (https://netsec.ccert.edu.cn/about) at Tsinghua University","status":"published","published":"2025-03-05T19:50:09Z","modified":"2025-03-05T19:50:11Z","cvss":[{"version":"4.0","score":8.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","level":"high"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:38:34.185137Z"}],"osv":[{"id":"GHSA-3x5x-fw77-g54c","title":"dmlc/dgl Vulnerable to Remote Code Execution by Pickle Deserialization via rpc.recv_request()","description":"### Impact\nDgl implements rpc server (start_server() in rpc_server.py) for supporting the RPC communications among different remote users over networks. It relies on pickle serialize and deserialize to pack and unpack network messages. The is a known risk in pickle deserialization functionality that can be used for remote code execution.\n\n### Patches\nTBD.\n\n### Workarounds\nWhen running DGL distributed training and inference (DistDGL) make sure you do not assign public IPs to any instance in the cluster.\n\n### References\nIssue #7874\n\n### Reported by\nPinji Chen ([cpj24@mails.tsinghua.edu.cn](mailto:cpj24@mails.tsinghua.edu.cn)) from NISL lab (https://netsec.ccert.edu.cn/about) at Tsinghua University","status":"published","published":"2025-03-05T19:50:09Z","modified":"2025-03-05T20:09:21.358666Z","cvss":[{"version":"4.0","score":8.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","level":"high"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T15:46:36.092962Z"}]}}
