Passwords being stored as plain text in logging

Disclosed: 2019-08-31 12:45:35 By xatom To nextcloud
Low
Vulnerability Details
When an exception occurs, any password sent to or being processed by the server may be stored as plain text in the log. I noticed that some methods are already being filtered in `ExceptionSerializer.php`, but many methods are missing from this list. Suggestion: instead of relying on a list of sensitive methods, filter every method with a `$password` parameter. ---- Steps to reproduce (example): 1. Install NextCloud without SMTP server 1. Create a new user at `https://nextcloud/settings/users` 1. Check the logging at `https://nextcloud/settings/admin/logging` Results in 2 exceptions: ``` [ocs_api] Error: OCP\AppFramework\OCS\OCSException: Unable to send the invitation mail at <<closure>> 0. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 166 vvvvvvvv addUser("[redacted]", "[redacted - PASSWORD]", "[redacted]", "[redacted]", [], [], "10 GB", "en") ^^^^^^^^ 1. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 99 executeController(OCA\Provisioning ... {}, "addUser") 2. /var/www/html/lib/private/AppFramework/App.php line 118 dispatch(OCA\Provisioning ... {}, "addUser") 3. /var/www/html/lib/private/AppFramework/Routing/RouteActionHandler.php line 47 main("OCA\\Provisioni ... r", "addUser", OC\AppFramework\ ... {}, {_route: "ocs.pr ... "}) 4. <<closure>> __invoke({_route: "ocs.pr ... "}) 5. /var/www/html/lib/private/Route/Router.php line 297 call_user_func(OC\AppFramework\ ... {}, {_route: "ocs.pr ... "}) 6. /var/www/html/ocs/v1.php line 82 match("/ocsapp/cloud/users") 7. /var/www/html/ocs/v2.php line 24 require_once("/var/www/html/ocs/v1.php") POST /ocs/v2.php/cloud/users from 172.18.0.4 by [redacted] at 2018-12-17T19:38:41+00:00 ``` ``` [ocs_api] Error: Swift_TransportException: Connection could not be established with host 127.0.0.1 [Connection refused #111] at <<closure>> 0. /var/www/html/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php line 58 establishSocketConnection() 1. /var/www/html/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php line 143 initialize({protocol: "",ho ... ]}) 2. /var/www/html/3rdparty/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php line 65 start() 3. /var/www/html/lib/private/Mail/Mailer.php line 180 send(Swift_Message {}, []) 4. /var/www/html/settings/Mailer/NewUserMailHelper.php line 169 send(OC\Mail\Message {}) 5. /var/www/html/apps/provisioning_api/lib/Controller/UsersController.php line 307 sendMail(OC\User\User {}, OC\Mail\EMailTemplate {}) 6. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 166 vvvvvvvv addUser("[redacted]", "[redacted - PASSWORD]", "[redacted]", "[redacted]", [], [], "10 GB", "en") ^^^^^^^^ 7. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 99 executeController(OCA\Provisioning ... {}, "addUser") 8. /var/www/html/lib/private/AppFramework/App.php line 118 dispatch(OCA\Provisioning ... {}, "addUser") 9. /var/www/html/lib/private/AppFramework/Routing/RouteActionHandler.php line 47 main("OCA\\Provisioni ... r", "addUser", OC\AppFramework\ ... {}, {_route: "ocs.pr ... "}) 10. <<closure>> __invoke({_route: "ocs.pr ... "}) 11. /var/www/html/lib/private/Route/Router.php line 297 call_user_func(OC\AppFramework\ ... {}, {_route: "ocs.pr ... "}) 12. /var/www/html/ocs/v1.php line 82 match("/ocsapp/cloud/users") 13. /var/www/html/ocs/v2.php line 24 require_once("/var/www/html/ocs/v1.php") POST /ocs/v2.php/cloud/users from 172.18.0.4 by [redacted] at 2018-12-17T19:38:41+00:00 ``` ## Impact Get various user names, e-mail addresses and passwords from log files.
Actions
View on HackerOne
Report Stats
  • Report ID: 469668
  • State: Closed
  • Substate: resolved
  • Upvotes: 30
Share this report