On Wed, Jun 26, 2019 at 12:16:02PM -0500, Eric Blake wrote:
 On 6/26/19 11:53 AM, Eric Blake wrote:
 > Otherwise, a user can do things like "nbdkit iso .
prog='date;prog'"
 > to run unintended commands in addition to their alternative isoprog.
 
 On the other hand, allowing: prog='isoprog --parameter' may be
 intentional, and I just broke that.  Maybe I need to revert this? 
This is fine, because they can use params for that.  I think this
patch makes sense, so let's leave it.
Rich.
 > This is not a CVE (since nbdkit isn't running with any more
privileges
 > than the user running those commands themselves), but shows the
 > frailty of relying on the shell to parse subsidiary commands rather
 > than exec()ing them directly.  This patch also doesn't resolve the
 > fact that we are also passing params= through shell parsing (if we
 > don't like that, we should consider changing the interface to make the
 > user write param='-V' param='My Disk Image' and use shell_quote()
over
 > each param, rather than the current params='-V "My Disk Image"'),
but
 > does try to enhance the docs to point it out with more clarity.
 > 
 > Signed-off-by: Eric Blake <eblake(a)redhat.com>
 > ---
 > 
 > I'm pushing this now, but we may want to reconsider the iso plugin
 > exposing params= that is intentionally designed for another round of
 > shell parsing, as a followup patch.  Ideally, we want to avoid ever
 > passing user-supplied data through another shell invocation without
 > first re-quoting it.
 > 
 
 
 -- 
 Eric Blake, Principal Software Engineer
 Red Hat, Inc.           +1-919-301-3226
 Virtualization:  
qemu.org | 
libvirt.org
   
 _______________________________________________
 Libguestfs mailing list
 Libguestfs(a)redhat.com
 
https://www.redhat.com/mailman/listinfo/libguestfs 
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming and virtualization blog: 
http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html