`asroot_iface_description_os()` a sysfs path from an interface name
received from the unprivileged process. The validation only rejects `\0`
or `.` in first position. Add `/` to the list of rejected characters to
avoid path traversal.
Fix #773
* Changes:
+ Add "configure lldp portdescription-source" to choose how to populate port description (#763)
* Fix:
- + Fix path traversal vulnerability in the privileged process (#774)
+ + Fix path traversal vulnerabilities in the privileged process (#773, #774)
lldpd (1.0.20)
* Changes:
char descr[IFALIASZ];
FILE *fp;
int rc;
- if (name[0] == '\0' || name[0] == '.') {
+ if (name[0] == '\0' || name[0] == '.' || strchr(name, '/') != NULL) {
log_warnx("privsep", "odd interface name %s", name);
return -1;
}