[pmwiki-devel] strange conversions: a FmtPageName bug

Peter & Melodye Bowers pbowers at pobox.com
Thu May 8 02:38:56 CDT 2008


> Am I right in assuming it's the global variable substitution 
> that introduces the security risk?  Or are some of the other 
> substitutions also potentially risky from a security standpoint?

Is a "yes" answer to these questions accurate in terms of the security risk
related to FmtPageName() and user-supplied text?  

I'm wondering about a "recipe" just for the purpose of recipe development.
It could contain a function copy/paste/edited from FmtPageName() but named
SafeFmtPageName() and not including global variable substitution (as defined
in my previous post).  Then it could be an optional security enhancement for
admins that want to do so, used like this in the initialization of a recipe:

if (function_exists('SafeFmtPageName')) 
   $FmtPageNameFunc = 'SafeFmtPageName'
else $FmtPageNameFunc = 'FmtPageName';

And then called like this:

$myvar = $FmtPageNameFunc($UserSuppliedData, $pagename);

Obviously if it wasn't user-supplied-data then the recipe author could go
straight to FmtPageName().

Any thoughts on this?  Does it fill a need or do most recipe authors prefer
to just handle their own substitutions on user-supplied data?

-Peter




More information about the pmwiki-devel mailing list