ikiwiki/IkiWiki
Simon McVittie c1120bbbe8 Force CGI::FormBuilder->field to scalar context where necessary
CGI::FormBuilder->field has behaviour similar to the CGI.pm misfeature
we avoided in f4ec7b0. Force it into scalar context where it is used
in an argument list.

This prevents two (relatively minor) commit metadata forgery
vulnerabilities:

* In the comments plugin, an attacker who was able to post a comment
  could give it a user-specified author and author-URL even if the wiki
  configuration did not allow for that, by crafting multiple values
  to other fields.
* In the editpage plugin, an attacker who was able to edit a page
  could potentially forge commit authorship by crafting multiple values
  for the rcsinfo field.

The remaining plugins changed in this commit appear to have been
protected by use of explicit scalar prototypes for the called functions,
but have been changed anyway to make them more obviously correct.
In particular, checkpassword() in passwordauth has a known prototype,
so an attacker cannot trick it into treating multiple values of the
name field as being the username, password and field to check for.

OVE-20161226-0001
2016-12-28 21:32:12 +00:00
..
Plugin Force CGI::FormBuilder->field to scalar context where necessary 2016-12-28 21:32:12 +00:00
Setup Silence "used only once: possible typo" warnings for variables that are part of modules' APIs 2016-01-19 11:24:18 +00:00
CGI.pm cgitemplate: actually remove dead code 2016-12-19 13:20:55 +00:00
Receive.pm Wrapper: allocate new environment dynamically 2016-05-11 09:18:14 +01:00
Render.pm improve warning message for multiple sources for page 2016-05-31 15:29:09 -04:00
Setup.pm Detect plugins with a broken getsetup and warn. 2013-03-04 13:19:05 -04:00
UserInfo.pm remove deprecated admin prefs 2008-12-24 16:16:03 -05:00
Wrapper.pm Wrapper: allocate new environment dynamically 2016-05-11 09:18:14 +01:00