Canna is a Japanese input system available as free software. Canna provides a unified user interface for inputting Japanese.
Canna supports Nemacs(Mule), kinput2 and canuum. All of these tools can be used by a single customization file, romanji-to-kana conversion rules and conversion dictionaries, and input Japanese in the same way.
Canna converts kana to kanji based on a client-server model and supports automatic kana-to-kanji conversion.
The Canna subsystem on certain UNIX versions contains a buffer overflow in the 'uum' program. Uum is a Japanese input tty frontend for Canna. Regrettably, certain versions are vulnerable to a buffer overflow attack via unchecked user supplied data with the '-D' option. Since 'uum' is installed as SUID root this may result in a root level compromise.
/*=============================================================================
/usr/bin/uum Exploit for Linux
The Shadow Penguin Security (http://shadowpenguin.backsection.net)
Written by
UNYUN (shadowpenguin@backsection.net)
=============================================================================
*/
#include <stdlib.h>
#include <stdio.h>