Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 126940 - im-switch symlink vulnerability
Summary: im-switch symlink vulnerability
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: im-sdk
Version: 2
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jens Petersen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: IIIMF
TreeView+ depends on / blocked
 
Reported: 2004-06-29 15:01 UTC by SEKINE Tatsuo
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-07-07 04:16:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description SEKINE Tatsuo 2004-06-29 15:01:59 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510

Description of problem:
/usr/bin/im-switch program use file "/tmp/imswitcher$$" as temporary file.

This way to use temporary file is insecure, because
/tmp/ is everyone writable and $$(PID) is predictable.

When root try to set system-wide setting of IM, attacker can crash
 important file without root privilege.


Version-Release number of selected component (if applicable):
iiimf-x-11.4-46.svn1587

How reproducible:
Always

Steps to Reproduce:
1. an attacker who has onlu normal privilege types as followed:

  $ bash -c 'i=1;while [ $i -lt 65536 ]; do ln -s /etc/IMPORTANT_FILE
/tmp/imswitcher$i; let "i++"; done'

2. root types below to set system-wide IM setting:

  # /usr/bin/im-switch -w -m xim

3.
    

Actual Results:  /etc/IMPORTANT_FILE becomes broken.


Expected Results:  /etc/IMPORTANT_FILE is independent from the
behavior of im-switch program.


Additional info:

mktemp(1) command or "umask 077; mkdir /tmp/..." should be used to
make temporary file(directory).

Comment 1 Jens Petersen 2004-07-05 11:36:35 UTC
Thanks for spotting this - should get fixed in an update soon.

Comment 2 Jens Petersen 2004-07-06 07:13:48 UTC
im-sdk-11.4-46.1 has been built to address this issue.

Comment 3 Lawrence Lim 2004-07-07 04:16:56 UTC
Great efforts guys.

Performed sanity check and verified that the tmp file imswitcher$$ no
longer exist in the dir after using im-swicth command.


Note You need to log in before you can comment on or make changes to this bug.