have it check to see that it doesn't contain any '/' characters. This prevents possible silliness like ypcat "../../../kernel". We already test the domain name for this in yp_validdomain(), and ypserv itself tests the map name in yp_open_db(), but it doesn't hurt to be paranoid and test for it in the generic access routine too. rpc.ypxfrd does not test the map name for slashes, but it does call yp_access() with the map name, so this removes a potential vulnerability from there. Also make the tests for IPPORT_RESERVED a little more selective: make sure it trips when map == master.passwd.*, prog == YPPROC and proc == YPPROC_XFR, and prog == YPXFRD_FREEBSD_PROG and proc == YPXFRD_GETMAP. Also use IPPORT_RESERVED instead of hard-coded value. |
||
---|---|---|
.. | ||
Makefile | ||
Makefile.yp | ||
yp_access.c | ||
yp_dblookup.c | ||
yp_dnslookup.c | ||
yp_error.c | ||
yp_extern.h | ||
yp_main.c | ||
yp_server.c | ||
ypserv.8 |