[pmwiki-devel] ZAP farms: a modest proposal for security

Ben Stallings ben at interdependentweb.com
Thu May 3 11:02:26 CDT 2007

I got to thinking yesterday about the ZAP vulnerability, both the 
exploit Pm has demonstrated fully and the one he's alluded mysteriously 
to as a homework assignment for Dan.  ;-)

It occurs to me that Dan has been operating from the start on the 
assumption that ZAP will be used on sites that do not allow anyone to 
edit pages without logging in; indeed that ZAP will *be* the way that 
members of the general public edit pages, and traditional wiki editing 
will be reserved for admins and trusted friends.  I've followed the same 
assumption, so I believe the sites I've built with ZAP are not 
susceptible to the exploit.  (I'd rather not put that to the test, 
though, thanks.)

Pm is coming from the assumption that the wiki's edit function is open 
to anyone, at least somewhere on the site (e.g. the WikiSandbox), and 
that all page edits, without exception, pass through that function and 
its accompanying safeguards.  From his perspective, this is the way 
wikis ought to be, and he may well be right about that in the long run, 
once he finds a way to process forms.  ;-)  Apologies if I've misstated 
either philosophy.

Both of these philosophies seem to work very well and be reasonably 
secure on their own, but the problem is that the underlying, 
incompatible assumptions were *unstated* and so have been allowed to 
coexist, and as we've seen, scary things can then happen.

So here's my question: would any of these exploits -- including the ones 
only mysteriously alluded to -- be possible if ZAP were only installed 
on a wiki farm field, separate from the publicly-editable part of the 
wiki?  If not, it seems like a wiki could safely use both editing 
philosophies by isolating each from the other in its own farm field. 
Part of the site would use the wiki's edit function exclusively, and the 
other part would use ZAP exclusively as its public face, and they could 
share a skin and otherwise be unobtrusively integrated with each other.

I realize doing something like this would stretch the definition of a 
recipe, but Acme/ZAP has already done that by supplanting the wiki's 
editing function.  If it should turn out to be the case that the two 
editing functions cannot coexist securely, then putting ZAP in its own 
farm field could allow admins to have the best of both worlds.

Just a thought.  If there's another feature of PmWiki that allows 
unauthenticated users to use pages from other farm fields as templates 
to display whatever content they choose, now would be a good time to say 
so!  ;-)  --Ben

More information about the pmwiki-devel mailing list