Several command injection vulnerabilities in guestagent/pkg
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack DBaaS (Trove) |
Triaged
|
Medium
|
Unassigned | ||
OpenStack Security Advisory |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
At several places in the file guestagent/pkg.py, there are shell injection vulnerabilities:
https:/
In this line, the cmd_list is being built parameterized, but then it is just combined into one big string and called directly on a shell through the command getstatusoutput, which does a popen. If package name is set maliciously, the command will execute arbitrary code with the privilege of the trove process.
The same is true on this line, https:/
Again, on this line: https:/
I'm not nearly familiar enough with the Trove code and uses to know all the ways that package names for this code can be set, but these commands should be parameterized.
Finally, os.popen is a deprecated function. The subprocess module should be used instead.
Changed in ossa: | |
status: | New → Incomplete |
information type: | Public Security → Public |
tags: | added: security |
Changed in ossa: | |
status: | Incomplete → Won't Fix |
Changed in trove: | |
assignee: | nobody → Anna Shen (ruiyuan-shen) |
Changed in trove: | |
milestone: | liberty-1 → liberty-2 |
Changed in trove: | |
milestone: | liberty-2 → liberty-3 |
Changed in trove: | |
milestone: | liberty-3 → ongoing |
assignee: | Anna Shen (ruiyuan-shen) → nobody |
Changed in trove: | |
assignee: | nobody → Amrith (amrith) |
Changed in trove: | |
importance: | High → Medium |
Changed in trove: | |
assignee: | Amrith Kumar (amrith) → nobody |
Since this report concerns a possible security risk, an incomplete security advisory task has been added while the core security reviewers for the affected project or projects confirm the bug and discuss the scope of any vulnerability along with potential solutions.
Does user have control over package name ?