[LWN Logo]
[Timeline]
Date:         Tue, 11 Jul 2000 15:02:20 -0700
From: FreeBSD Security Advisories <security-advisories@FREEBSD.ORG>
Subject:      FreeBSD Ports Security Advisory: FreeBSD-SA-00:31.canna [REVISED]
To: BUGTRAQ@SECURITYFOCUS.COM

-----BEGIN PGP SIGNED MESSAGE-----

=============================================================================
FreeBSD-SA-00:31                                           Security Advisory
                                                                FreeBSD, Inc.

Topic:          Canna port contains remote vulnerability [REVISED]

Category:       ports
Module:         Canna
Announced:      2000-07-05
Revised:        2000-07-11
Affects:        Ports collection.
Corrected:      2000-06-29
Credits:	Shadow Penguin Security
                <http://shadowpenguin.backsection.net/advisories/index.html>
Vendor status:  Contacted
FreeBSD only:   NO

I.   Background

Canna is a Kana-Kanji conversion server.

II.  Problem Description

The Canna server contains an overflowable buffer which may be
exploited by a remote user to execute arbitrary code on the local
system as user 'bin'.

The Canna port is not installed by default, nor is it "part of
FreeBSD" as such: it is part of the FreeBSD ports collection, which
contains over 3500 third-party applications in a ready-to-install
format. The ports collection shipped with FreeBSD 3.5 contains this
vulnerability since it was discovered after the release.

FreeBSD makes no claim about the security of these third-party
applications, although an effort is underway to provide a security
audit of the most security-critical ports.

III. Impact

Remote users can run arbitrary code as user 'bin' on the local system.
Depending on the local system configuration, the attacker may be able
to upgrade privileges further by exploiting local vulnerabilities.

If you have not chosen to install the Canna port/package, then your
system is not vulnerable to this problem.

IV.  Workaround

One of the following:

1) Deinstall the Canna port/package, if you you have installed it.

2) Consider limiting remote access to the Canna server using ipfw(8)
or ipf(8).

3) Create a /etc/hosts.canna file on the Canna server and list the
hosts which you wish to allow access to the Canna server. For example,
if you want to allow access via localhost only, include the following
in your /etc/hosts.canna file:

        localhost
        unix

If you want to allow access via localhost and some-other-host.com,
which has IP address x.y.z.w, include the following:

        localhost
        unix
        x.y.z.w

V.   Solution

One of the following:

1) Upgrade your entire ports collection and rebuild the Canna port.

2) Deinstall the old package and install a new package dated after the
correction date, obtained from:

ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-4-stable/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/japanese/ja-Canna-3.2.2.tgz
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/alpha/packages-5-current/japanese/ja-Canna-3.2.2.tgz

Note: it may be several days before updated packages are available.

3) download a new port skeleton for the Canna port from:

http://www.freebsd.org/ports/

and use it to rebuild the port.

4) Use the portcheckout utility to automate option (3) above. The
portcheckout port is available in /usr/ports/devel/portcheckout or the
package can be obtained from:

ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/devel/portcheckout-1.0.tgz

VI.   Revision History

v1.0  2000-07-05  Initial release
v1.1  2000-07-11  Add additional access-control method submitted by KOJIMA Hajime <kjm@rins.ryukoku.ac.jp>
                  Correct package URL. Update size of ports collection.

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBOWuZD1UuHi5z0oilAQEAOgP9FFIPBLNxpRkRC4lQqNHDcBQ/7EOapw1p
YstPyT2sJkykj66QtS4CC5Wd4r7qy4EPQodAqYFgQqMRNyZX3PNzuoRTB+CNzE3f
bV1bQq75FTpWBlDhD1LMxSjywgENeBUkuq214diIzUJMBucOa9caFDZ5K+22WquR
S5O/SGoqI/A=
=dynV
-----END PGP SIGNATURE-----