-
Notifications
You must be signed in to change notification settings - Fork 43
Leaking database credentials #79
Comments
or rather, handling it at this line since Line 410 in ea928ad
|
In addition to leaking this, Password also probably shouldn't be public/exported to begin with. That change would be a breaking change and require a constructor/new function to initialize ConnectionParams. |
Sorry, I don't really understand this. From who do you want to protect the password? |
@tgulacsi the issue is that the world is much larger than my dev box or the feature I wrote. This software runs in production systems. In cloud or PaaS infrastructure. In 3rd party systems. Scaylr is my example here, but this applies to hundreds of situations. The logs for the service are sent to a 3rd party log aggregator as part of our standard infrastructure. An error in the Oracle database, completely unrelated to the code implementing this package, occurred which caused an issue with In the code, and in golang in general, and in software in general, it's common to log non-fatal errors. In this case, the recovery routine contains if nil != err {
log.Error(err)
} The I want to protect the password from the entire universe, including myself, once the software is up and running. This should be everyone's philosophy for any kind of sensitive data in real world applications. |
Also, just for some color on the consequences for companies that run into issues like this, changing the Oracle password unfortunately is kind of a big pain in the butt for us right now. We're in a containerized world using deployed |
Hi, I have an issue with this package leaking database credentials. There's this line:
goracle/drv.go
Line 535 in ea928ad
which seems like a really, really bad idea. Once you put the password into the package it should be impossible to get it back out (within reason, it should at least be explicitly intentional). It's pretty common in go do do something like
which has consequences in this package. Could we replace that with something like this instead?
The text was updated successfully, but these errors were encountered: