Go to file
Simon McVittie 4729ff0812 Exclude working directory from library path (CVE-2016-1238)
Current Perl versions put '.' at the end of the library search path
@INC, although this will be fixed in a future Perl release. This means
that when software loads an optionally-present module, it will be
looked for in the current working directory before giving up. An
attacker could use this to execute arbitrary Perl code from ikiwiki's
current working directory.

Removing '.' from the library search path in Perl is the correct
fix for this vulnerability, but is not trivial to do due to
backwards-compatibility concerns. Mitigate this (even if ikiwiki is run
with a vulnerable Perl version) by explicitly removing '.' from the
search path, and instead looking for ikiwiki's own modules relative
to the absolute path of the executable when run from the source
directory.

In tests that specifically want to use the current working directory,
use "-I".getcwd instead of "-I." so we use its absolute path, which
is immune to the removal of ".".
2016-07-28 09:50:21 +01:00
Bundle add XML::Writer suggestion for osm plugin 2012-03-03 12:28:24 -04:00
IkiWiki improve warning message for multiple sources for page 2016-05-31 15:29:09 -04:00
cpan enhancesments for shared hosting 2008-05-05 14:51:26 -04:00
debian Wrapper: allocate new environment dynamically 2016-05-11 09:18:14 +01:00
doc Revert strange translation of this page to French 2016-07-25 10:44:29 -04:00
icons Replace email authentication icon with one that is more instantly recognizable 2015-06-09 00:44:31 +01:00
plugins plugins/proxy.py: be compatible with Python 3 2014-09-04 11:42:05 +01:00
po update 2016-06-23 16:39:36 -04:00
t Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
templates add missing </div> 2016-04-03 15:29:27 -04:00
themes More page layout adjustments for mobile browsers and small windows 2014-12-01 21:29:46 +00:00
underlays Add license info to javascript underlay 2016-01-19 11:24:18 +00:00
.gitattributes auto changelog merging 2010-06-25 13:43:02 -04:00
.gitignore .gitignore: ignore the l10n wiki 2016-01-21 09:52:44 +00:00
.perlcriticrc fix a common case typo 2008-08-12 15:48:44 -04:00
CHANGELOG * Work on firming up the plugin interface: 2006-09-09 22:50:27 +00:00
IkiWiki.pm HTML-escape error messages (OVE-20160505-0012) 2016-05-05 23:43:17 +01:00
Makefile.PL Standardize on --long-option instead of -long-option 2015-03-01 16:15:01 +00:00
NEWS * Work on firming up the plugin interface: 2006-09-09 22:50:27 +00:00
README parameterize FIND and SED 2010-09-27 16:10:13 -04:00
auto-blog.setup Standardize on --long-option instead of -long-option 2015-03-01 16:15:01 +00:00
auto.setup allow adminuser to be an email address 2015-05-13 23:07:29 -04:00
docwiki.setup Exclude users/* from the HTML documentation 2016-05-06 07:53:53 +01:00
gitremotes gitremotes: don't fetch the new remote until we've turned off tags 2010-05-09 16:44:47 +01:00
ikiwiki-calendar.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-comment.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-makerepo git: if no committer identity is known, set it to "IkiWiki <ikiwiki.info>" in .git/config 2015-11-30 19:34:04 +00:00
ikiwiki-mass-rebuild Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-transition.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-update-wikilist Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki-w3m.cgi * Support a w3mmode, which lets w3m run ikiwiki using its local CGI 2006-07-07 21:00:48 +00:00
ikiwiki.in Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
ikiwiki.spec update 2016-06-23 16:39:36 -04:00
mdwn2man sync mdwn2man changes from git-annex 2010-12-10 17:36:39 -04:00
pm_filter Exclude working directory from library path (CVE-2016-1238) 2016-07-28 09:50:21 +01:00
wikilist Standardize on --long-option instead of -long-option 2015-03-01 16:15:01 +00:00

README

Use ./Makefile.PL to generate a Makefile, "make" will build the
documentation wiki and a man page, and "make install" will install ikiwiki.

All other documentation is in the ikiwiki documentation wiki, which is also
available online at <http://ikiwiki.info/>


A few special variables you can set while using the Makefile.PL:

  PROFILE=1 turns on profiling for the build of the doc wiki.
  (Uses Devel::NYTProf)

  NOTAINT=0 turns on the taint flag in the ikiwiki program. (Not recommended
  unless your perl is less buggy than mine -- see
  http://bugs.debian.org/411786)

  MAKE, FIND, and SED can be used to specify where you have the GNU
  versions of those tools installed, if the normal make, find, and sed
  are not GNU.

  There are also other variables supported by MakeMaker, including PREFIX,
  INSTALL_BASE, and DESTDIR. See ExtUtils::MakeMaker(3).

  In particular, INSTALL_BASE is very useful if you want to install ikiwiki
  to some other location, as it configures it to see the perl libraries
  there. See `doc/tips/nearlyfreespeech.mdwn` for an example of using this to
  install ikiwiki and its dependencies in a home directory.