-
Notifications
You must be signed in to change notification settings - Fork 316
Password logged in plain text when making form encoded url calls! #133
Comments
I've released a BP that encrypts data for this situation or any other sensitive data you want to transmit over a network, it should be on the marketplace within the next 24hrs. It is called SHA256 Encryption |
If you're using HTTPS there shouldn't be a need to encrypt your passwords on the client side, that's what's HTTPS is there for in the first place. This isn't a thing a third party library should attempt to fix, This is a major security vulnerability on VaRests part and MUST be fixed here. Labelling this as "enhancement" and "feature request" says many things about the developers mindset. Since this hasn't been fixed months after reporting I purged every piece of VaRest code and I'm now using my own system together with Epics built in HTTP(S) pipeline. |
HTTPS should be used as an absolute minimum for sensitive data . You are still vulnerable to Man-in-the-middle attacks through rogue certificates. ALWAYS encrypt your data , its not difficult. |
|
By that logic every encryption should be used as an absolute minimum, as I can obtain a key, and perform a successful MitM attack without either party knowing. You have to place a certain trust in your CA, as you have to do with any key exchange mechanism.
Which is bullshit. You need logs in production to, unless you can guarantee that your product will be 100% bug free after shipping (protip: you can't). There's no need to log a password, even in development. If you need to log a query string and check if that's valid, you should write a
And I did, but I can code. The people on the marketplace who trust the developers to do the right thing either can't or are unaware of the problem. Shifting the responsibility to me (or any other developer for that matter) is just stupid. |
Fixed now and secured by default, thanks @Ruhrpottpatriot |
When making a form encoded request against a server, this library logs the complete URL of the request which may contain sensitive user data. Using HTTPS doesn't prevent this, since the data is logged before encryption.
Sometimes sending data via form encoding is necessary, e.g. when authorizing a a call made against an API secured with OpenId (see http://openid.net/specs/openid-connect-core-1_0.html#AuthRequest for further information). Currently I'm using a POST request alongside with x_www_form_urlencoded_body to send user data from my login form, however logging of the parameters blows my security wide open. So I'm stuck with two options:
Both are not satisfactory, although I'd take 2 any time over 1 without even thinking about it.
The log calls in question are:
VaRest/Source/VaRestPlugin/Private/VaRestRequestJSON.cpp
Line 370 in c4e4563
VaRest/Source/VaRestPlugin/Private/VaRestRequestJSON.cpp
Line 341 in c4e4563
Proposition:
The text was updated successfully, but these errors were encountered: