Bug 2399533
| Summary: | CVE-2025-47906 mkcert: Unexpected paths returned from LookPath in os/exec [fedora-42] | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Jon Moroney <jmoroney> |
| Component: | mkcert | Assignee: | Dick Marinus <dick> |
| Status: | CLOSED NOTABUG | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 42 | CC: | dick, go-sig |
| Target Milestone: | --- | Keywords: | Security, SecurityTracking |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | {"flaws": ["82b592f6-3fef-4109-80a1-8023edc09049"]} | ||
| Fixed In Version: | Doc Type: | --- | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-09-26 11:06:38 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2396546 | ||
|
Description
Jon Moroney
2025-09-26 00:36:07 UTC
Seems like mkcert isn't vulnerable, I checked the usage of "LookPath" and it isn't possible to inject . or .. into the LookPath call.
Besides that, mkcert is meant to be used locally by the system administrator. I can't think of a way how this could even be exploitable by a non administrator.
$ git grep -i lookpath
main.go: _, err := exec.LookPath(name)
truststore_nss.go: certutilPath, _ = exec.LookPath("certutil")
truststore_nss.go: certutilPath, _ = exec.LookPath("certutil")
$ git grep -i binaryExists
main.go:func binaryExists(name string) bool {
main.go: if !binaryExists("sudo") {
truststore_linux.go: case binaryExists("apt"):
truststore_linux.go: case binaryExists("yum"):
truststore_linux.go: case binaryExists("zypper"):
truststore_nss.go: case binaryExists("certutil"):
truststore_nss.go: case binaryExists("/usr/local/opt/nss/bin/certutil"):
truststore_nss.go: if hasCertutil = binaryExists("certutil"); hasCertutil {
|