Package: kylin-nm Version: 3.0.3.1-1 Severity: grave Tags: security Justification: user security hole
Hi,
the kylin_network_get_activecon_info() function in
src/kylin-network-interface.c uses predictable filenames under /tmp
and invokes system() on it:
| activecon *kylin_network_get_activecon_info()
| {
| struct passwd *pwd;
| pwd = getpwuid(getuid());
| char *name = pwd->pw_name;
| char *tmpPrefix = "/tmp/kylin-nm-activecon-";
| char *chr = "nmcli connection show -active > ";
|
| char *cmd;
| asprintf(&cmd, "%s%s%s", chr, tmpPrefix, name);
| char *path;
| asprintf(&path, "%s%s", tmpPrefix, name);
| int status = system(cmd);
| if (status != 0)
| syslog(LOG_ERR, "execute 'nmcli connection show -active' in function
'kylin_network_get_activecon_info' failed");
| free(cmd);
Predictable filenames under /tmp and executing system() on it is
highly problematic and a potential security issue. It should instead
use e.g. mkstemp() and the execl-family of functions or similar.
FTR: the same code is present also in ukui-screensaver, which seems
to have a copy of the KylinNM source code included.
regards
-mika-
signature.asc
Description: PGP signature

