Bug 1105662
Summary: | gofer logs "secret" | ||
---|---|---|---|
Product: | [Retired] Pulp | Reporter: | Michael Hrivnak <mhrivnak> |
Component: | z_other | Assignee: | pulp-bugs |
Status: | CLOSED UPSTREAM | QA Contact: | pulp-qe-list |
Severity: | unspecified | Docs Contact: | |
Priority: | medium | ||
Version: | 2.4 Beta | CC: | jortel, skarmark |
Target Milestone: | --- | Keywords: | Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-02-28 22:10:00 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Michael Hrivnak
2014-06-06 16:23:29 UTC
Pulp passes the consumer DB object ID as the secret and is not used for authentication. Rather, it is used so that when a consumer is registered using the name of a previously unregistered consumer, the agent will not honor requests queued for the previous consumer. It leverages the gofer shared secret authentication mechanism as a matter of convenience only. So, logging the secret in this case represents no vulnerability to Pulp. Long term gofer should mask out this filed when logging messages. Especially because 1.0+ logs to syslog which means that messages logged at DEBUG can now be viewed by non-root users. To avoid confusion, Pulp /could/ pass the consumer DB object ID as part of the user defined data that is round-tripped on each request. The agent code could then explicitly add code to check the pass ID against the ID found in the consumer certificate and reject the request as needed. The downside is that we'd be writing code to avoid semantic confusion instead of using an existing mechanism. I think this would be a waste of time. Pulp could also use the unique DB object ID when constructing the queue name (or gofer agent UUID). Like: pulp.agent.<_id>. This way, each registration would use a different queue and ignoring old requests would no longer be an issue. The pulp consumer certificate has this ID and it would be a straight forward change (though, would require another queue migration). A big problem with this approach is that candlepin certificates would not have this DB object ID so this would require additional changes to support this for SAT6. The need for agent queue reaping would be greater as this would potentially increase the rate at which we leak agent queues. This should be cloned to the "gofer" product. Moved to https://pulp.plan.io/issues/448 |