Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 354063 (CVE-2011-0702) - <media-gfx/feh-1.12: "feh_unique_filename()" Predictable Filename (CVE-2011-{0702,1031})
Summary: <media-gfx/feh-1.12: "feh_unique_filename()" Predictable Filename (CVE-2011-{...
Status: RESOLVED FIXED
Alias: CVE-2011-0702
Product: Gentoo Security
Classification: Unclassified
Component: Vulnerabilities (show other bugs)
Hardware: All Linux
: High minor
Assignee: Gentoo Security
URL: https://github.com/derf/feh/issues/#i...
Whiteboard: B3 [glsa]
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-08 07:36 UTC by Paweł Hajdan, Jr. (RETIRED)
Modified: 2011-10-13 21:30 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log with USE="-xinerama" (build.log,11.93 KB, text/plain)
2011-04-04 06:13 UTC, Andreas Schürch
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-02-08 07:36:00 UTC
A security issue has been discovered in feh, which can be exploited by malicious, local users to perform certain actions with escalated privileges.

The security issue is caused due to the "feh_unique_filename()" function in src/utls.c generating predictable filenames, which can be exploited to e.g. overwrite arbitrary files via symlink attacks.

The security issue is confirmed in version 1.11.1. Other versions may also be affected.

http://secunia.com/advisories/43221/
https://bugs.launchpad.net/ubuntu/+source/feh/+bug/607328
Comment 1 Stefan Behte (RETIRED) gentoo-dev Security 2011-02-09 00:23:57 UTC
Upstream told me that old crappy usage of wget in the code might be replaced with libcurl. I will update this as soon as I get more info.
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2011-02-09 22:27:25 UTC
1.11.2 is out but it doesn't fixes the problem
Comment 3 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-02-10 10:41:28 UTC
Upstream commit with a partial fix: https://derf.homelinux.org/git/feh/commit/?id=23421a86cc826dd30f3dc4f62057fafb04b3ac40
Comment 4 Markos Chandras (RETIRED) gentoo-dev 2011-02-10 11:10:16 UTC
It is not entirely fixed. @security: Should I add this patch and release a new revision?
Comment 5 Tim Sammut (RETIRED) gentoo-dev 2011-02-12 19:14:40 UTC
(In reply to comment #4)
> It is not entirely fixed. @security: Should I add this patch and release a new
> revision?
> 

Just my opinion, but if upstream is working on a more complete fix to be released before "too long" ;), we can wait for it. If it is not clear when upstream will release another fix, lets go for it.
Comment 6 Stefan Behte (RETIRED) gentoo-dev Security 2011-04-03 20:59:24 UTC
1.12 is out and replaces wget with libcurl.
Comment 7 Stefan Behte (RETIRED) gentoo-dev Security 2011-04-03 21:00:36 UTC
(In reply to comment #6)
> 1.12 is out and replaces wget with libcurl.

It's already in tree, but is it ok to go stable?
Comment 8 Markos Chandras (RETIRED) gentoo-dev 2011-04-03 22:07:13 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > 1.12 is out and replaces wget with libcurl.
> 
> It's already in tree, but is it ok to go stable?

Yes it is ok to go stable
Comment 9 Tim Sammut (RETIRED) gentoo-dev 2011-04-04 04:59:20 UTC
(In reply to comment #8)
> 
> Yes it is ok to go stable

Thanks, Markos.

Arches, please test and mark stable:
=media-gfx/feh-1.12
Target keywords : "alpha amd64 ppc ppc64 sparc x86"
Comment 10 Andreas Schürch gentoo-dev 2011-04-04 06:13:40 UTC
Created attachment 268451 [details]
build.log with USE="-xinerama"

It fails the tests here on x86 with USE="-xinerama". The currently stable feh-1.9 doesn't fail like that.

Portage 2.1.9.42 (default/linux/x86/10.0, gcc-4.4.5, glibc-2.11.3-r0, 2.6.36-gentoo-r5 i686)
=================================================================                           
System uname: Linux-2.6.36-gentoo-r5-i686-QEMU_Virtual_CPU_version_0.13.0-with-gentoo-1.12.14
Timestamp of tree: Mon, 04 Apr 2011 05:00:01 +0000                                           
distcc 3.1 i686-pc-linux-gnu [disabled]                                                      
app-shells/bash:     4.1_p9                                                                  
dev-java/java-config: 2.1.11-r3                                                              
dev-lang/python:     2.6.6-r2, 3.1.3-r1                                                      
dev-util/cmake:      2.8.4                                                                   
sys-apps/baselayout: 1.12.14-r1                                                              
sys-apps/sandbox:    2.4                                                                     
sys-devel/autoconf:  2.13, 2.65-r1                                                           
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1                                                
sys-devel/binutils:  2.20.1-r1                                                               
sys-devel/gcc:       4.4.5                                                                   
sys-devel/gcc-config: 1.4.1                                                                  
sys-devel/libtool:   2.2.10                                                                  
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /home/mythtv/ /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl apache2 assistant autoipd berkdb bzip2 cairo cli consolekit cracklib crypt cups cxx dbus device-mapper dri encode extras fontconfig fortran ftp gd gdbm gpm gtk iconv icu imap ipv6 java jpeg kde lcms modules mssql mudflap mysql mysqli ncurses nls nptl nptlonly objc ogg opengl openmp pam pcre perl png policykit postgres pppd python qt3support qt4 readline semantic-desktop session sql sqlite ssl svg sysfs tcpd threads tordns truetype unicode webkit x86 xml xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="cirrus vesa fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 11 Agostino Sarubbo gentoo-dev 2011-04-04 19:02:28 UTC
works here with +/- xinerama
amd64 ok
Comment 12 Christoph Mende (RETIRED) gentoo-dev 2011-04-05 07:31:56 UTC
amd64 done, thanks Agostino
Comment 13 Thomas Kahle (RETIRED) gentoo-dev 2011-04-08 20:06:36 UTC
No issues here. x86 stable.  Andreas, please consider opening a separate bug.
Comment 14 Tobias Klausmann (RETIRED) gentoo-dev 2011-04-09 14:27:10 UTC
Stable on alpha.

The feh test suite will fail if imlib2 (a dep of giblib) is not compiled with support for all graphics formats available.
Comment 15 Raúl Porcel (RETIRED) gentoo-dev 2011-04-10 17:18:56 UTC
sparc stable
Comment 16 Joe Jezak (RETIRED) gentoo-dev 2011-04-11 04:03:32 UTC
Marked ppc stable.
Comment 17 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-04-11 16:25:25 UTC
ppc64 stable, last arch done
Comment 18 Tim Sammut (RETIRED) gentoo-dev 2011-04-11 18:43:14 UTC
Thanks, folks. GLSA Vote: yes.
Comment 19 Stefan Behte (RETIRED) gentoo-dev Security 2011-10-08 21:55:26 UTC
Vote: YES. Added to pending GLSA request.
Comment 20 GLSAMaker/CVETool Bot gentoo-dev 2011-10-13 21:30:53 UTC
This issue was resolved and addressed in
 GLSA 201110-08 at http://security.gentoo.org/glsa/glsa-201110-08.xml
by GLSA coordinator Stefan Behte (craig).