arbitrary code execution

Bug #1411318 reported by Phillip Sz
256
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bash (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

"The problem with bash's name references

Bash 4.3 introduced declare -n ("name references") to mimic Korn shell's nameref feature, which permits variables to hold references to other variables (..). Unfortunately, the implementation used in Bash has some issues.

{…} Bash's name reference implementation still allows arbitrary code execution:

$ foo() { declare -n var=$1; echo "$var"; }
$ foo 'x[i=$(date)]'
bash: i=Thu Mar 27 16:34:09 EDT 2014: syntax error in expression (error token is "Mar 27 16:34:09 EDT 2014")

It's not an elegant example, but you can clearly see that the date command was actually executed. This is not at all what one wants."

source: http://mywiki.wooledge.org/BashFAQ/048

Phillip Sz (phillip-sz)
information type: Private Security → Public Security
description: updated
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Have you reported this issue to the upstream bash developers?

Changed in bash (Ubuntu):
status: New → Confirmed
Phillip Sz (phillip-sz)
description: updated
Revision history for this message
Phillip Sz (phillip-sz) wrote :

No, but I think someone has, but I don't know exactly. Trying to find out.

Revision history for this message
Phillip Sz (phillip-sz) wrote :

"<kurahaupo> [22:16:18] phillip: anything on Woolledge's Wiki can be assumed to be known to Chet, yes
<kurahaupo> phillip: the loop reference problem is potentially fixable; the code-in-referents is not, at least not without breaking existing code somewhere, which is a no-no" I reported this here, so that someone maybe checks if this bug, can influence ubuntu's security.

To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.