Package: Lingot
version: 0.9.1-2
Severity: critical

Dear Maintainer,

Several vulnerabilites was found in the latest version of lingot as explained 
further below :

[1] :: [File] => lingot-config.c , [Lines] 192 ~ 197 :

    if ((fp = fopen(filename, "w")) == NULL) {
        char buff[100]; // <= if i select a filename larger than [100 - 26] and 
lead the program to here, program will crash.
        sprintf(buff, "error saving config file %s ", filename);
        perror(buff);
        return;
    }

##################

[2] :: [File] => lingot.c , [Lines] 41 , 85 ~ 86 , 108 ~ 109 , 127 ~ 131 :

41 : char CONFIG_FILE_NAME[100];

85 ~ 86 : 
    sprintf(CONFIG_FILE_NAME, "%s/" CONFIG_DIR_NAME DEFAULT_CONFIG_FILE_NAME,
            getenv("HOME"));

108 ~ 109 :
     sprintf(CONFIG_FILE_NAME, "%s/%s%s.conf", getenv("HOME"),
            CONFIG_DIR_NAME, optarg);

127 ~ 131 : 
    char config_dir[100];
        sprintf(config_dir, "%s/.lingot/", getenv("HOME"));
        printf("creating directory %s ...\n", config_dir);
        mkdir(config_dir, 0777); // creo el directorio.
        printf("creating file %s ...\n", CONFIG_FILE_NAME);

if i change $HOME to a larger one , Lingot will crash here .


##################


[3] :: [File] => lingot-config.h , [Lines] 41 ~ :

41 :
struct _LingotConfig {

    audio_system_t audio_system;

    char audio_dev[3][80]; // <= !!!

...

at this section if i manually set 
AUDIO_DEV_ALSA = plguhw:0 = > AUDIO_DEV_ALSA = 
plguhwAAAAAAAAAAAAAAAAAAAA...AAAAAAAAAAAAAAAAAA:0
program crashes here.

##################

[4] :: [File] => lingot-config.h , [Lines] ?? :

251 : void lingot_config_load(LingotConfig* config, char* filename) {

273 ~ 283 : 
#   define MAX_LINE_SIZE 100

    char char_buffer[MAX_LINE_SIZE];

    if ((fp = fopen(filename, "r")) == NULL) {
        sprintf(char_buffer,
                "error opening config file %s, assuming default values ",
                filename); // <= !!! 
        perror(char_buffer);
        return;
    }

and because of MAX_LINE_SIZE if i select a larger filename , program crashes 
here .

also is in 192 ~ 197 !

##################

If i can help in the fixing process please let me know.

Thank you,
Hamid Zamani


                                          

Reply via email to