First published: Tue Oct 19 2010(Updated: )
Ludwig Nussel discovered that gnome-shell contained a script that could be abused by an attacker to execute arbitrary code. The vulnerability is due to an insecure change to LD_LIBRARY_PATH, and environment variable used by ld.so(8) to look for libraries in directories other than the standard paths. When there is an empty item in the colon-separated list of directories in LD_LIBRARY_PATH, ld.so(8) treats it as a '.' (current working directory). If the given script is executed from a directory where a local attacker could write files, there is a chance for exploitation. In Fedora, /usr/bin/gnome-shell re-sets LD_LIBRARY_PATH insecurely: 163 if os.path.exists(mozjs_libdir + '/libmozjs.so'): 164 env['LD_LIBRARY_PATH'] = os.environ.get('LD_LIBRARY_PATH', '') + ':' + mozjs_libdir ... 206 return subprocess.Popen(args, env=env) A solution is to patch the script to test if LD_LIBRARY_PATH is previously set: if os.environ.get('LD_LIBRARY_PATH'): env['LD_LIBRARY_PATH'] = os.environ.get('LD_LIBRARY_PATH', '') + ':' + mozjs_libdir else: env['LD_LIBRARY_PATH'] = mozjs_libdir
Affected Software | Affected Version | How to fix |
---|---|---|
Ubuntu Yaru Theme for GNOME Shell |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
REDAHT-BUG-644561 is categorized as a high-severity vulnerability due to its potential to allow arbitrary code execution.
To fix REDHAT-BUG-644561, you should update to the patched version of gnome-shell provided by your Linux distribution.
REDAHT-BUG-644561 can allow attackers to exploit the insecure LD_LIBRARY_PATH setting to execute arbitrary code, compromising the security of the system.
REDAHT-BUG-644561 was discovered by Ludwig Nussel.
If you are using gnome-shell on an affected distribution, your system may be vulnerable to REDHAT-BUG-644561.