On Wed, Jul 13, 2005 at 06:28:21PM +0200, Martin Schulze wrote: > I guess we're facing a severe problem here. > > Even though you say that my fixes were not sufficient, you have > ***removed*** a fair amount of the patches I've applied after > reading the code that uses unsanitised variables. I now see > that you've placed sanitising into the config file entirely, > would have been nice to note this.
i guess i didn't in the email updating this, but did so in sanitize.php itself: /* * backported security-related changes from cacti * by sean finney <[EMAIL PROTECTED]> * * to preserve my own sanity, all sanity checks are done in here, which * is included by the main configuration, which is included by everything. * variables that don't exist will not raise failures, so only in the case * that the input exists and is not what it is supposed to be will there * be an error. */ > Additionally you seem to be using get_request_var only which > uses the $_GET array, but not the $_REQUEST array, and hence > can be bypassed by POST or cookie input if I am not mistaken. > This was not the case in the version I sent you. the problem with using _REQUEST is that someone could provide a valid _POST variable, but sneak the malcious content into _GET, which would then pass a _REQUEST test (assuming order gpc), but if the system uses _GET it still uses the malicious content. this is most of the cause of the second set of advisorires. however, now that i think about it, since i think most variables in the woody version of cacti are using register_globals, a variable like $id will be set in the same order as $_REQUEST, so maybe that isn't a bad idea. now that i think about it even more, what would be best is to run the sanity check on all of the _GET, _POST, _COOKIE variables, and fail if any of them have bad values. that would make the patch even simpler. > In addition to that you also clutter sanitize.php with sanitising > variables that aren't even used. That's not ok. aren't even used on a specific page or aren't used at all in cacti? in the case of the former, it causes no problems (apart from a couple extra cycles, which i think is OK in the interest of a cleaner patch). in the case of the latter, the lines should be removed--though again it doesn't hurt to have it there. > PS: ... and the distribution needs to be set to oldstable-security okay. so this is what i will do in the next week: - modify sanitize.php to check all three _FOO arrays for bad values and quit out if any of them are bad. - double check sanitize.php for globally unused variables. - update the distribution name. how does that sound? sean --
signature.asc
Description: Digital signature