/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos-keygen.xml

  • Committer: Teddy Hogeborn
  • Date: 2014-06-08 03:10:08 UTC
  • Revision ID: teddy@recompile.se-20140608031008-mc9bd7b024a3q0y0
Address a very theoretical possible security issue in mandos-client.

If there were to run some sort of "cleaner" process for /run/tmp (or
/tmp), and mandos-client were to run for long enough for that cleaner
process to remove the temporary directory for GPGME, there was a
possibility that another unprivileged process could trick the (also
unprivileged) mandos-client process to remove other files or symlinks
which the unprivileged mandos-client process was allowed to remove.
This is not currently known to have been exploitable, since there are
no known initramfs environments running such cleaner processes.

* plugins.d/mandos-client.c (main): Use O_NOFOLLOW when opening
                                    tempdir for cleaning.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY COMMANDNAME "mandos-keygen">
5
 
<!ENTITY TIMESTAMP "2009-01-04">
 
5
<!ENTITY TIMESTAMP "2013-10-22">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
19
19
        <firstname>Björn</firstname>
20
20
        <surname>Påhlsson</surname>
21
21
        <address>
22
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
23
23
        </address>
24
24
      </author>
25
25
      <author>
26
26
        <firstname>Teddy</firstname>
27
27
        <surname>Hogeborn</surname>
28
28
        <address>
29
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
35
35
      <year>2009</year>
 
36
      <year>2011</year>
 
37
      <year>2012</year>
36
38
      <holder>Teddy Hogeborn</holder>
37
39
      <holder>Björn Påhlsson</holder>
38
40
    </copyright>
213
215
        <listitem>
214
216
          <para>
215
217
            Target directory for key files.  Default is
216
 
            <filename>/etc/mandos</filename>.
 
218
            <filename class="directory">/etc/mandos</filename>.
217
219
          </para>
218
220
        </listitem>
219
221
      </varlistentry>
225
227
        <replaceable>TYPE</replaceable></option></term>
226
228
        <listitem>
227
229
          <para>
228
 
            Key type.  Default is <quote>DSA</quote>.
 
230
            Key type.  Default is <quote>RSA</quote>.
229
231
          </para>
230
232
        </listitem>
231
233
      </varlistentry>
237
239
        <replaceable>BITS</replaceable></option></term>
238
240
        <listitem>
239
241
          <para>
240
 
            Key length in bits.  Default is 2048.
 
242
            Key length in bits.  Default is 4096.
241
243
          </para>
242
244
        </listitem>
243
245
      </varlistentry>
249
251
        <replaceable>KEYTYPE</replaceable></option></term>
250
252
        <listitem>
251
253
          <para>
252
 
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
 
254
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
253
255
            encryption-only).
254
256
          </para>
255
257
        </listitem>
262
264
        <replaceable>BITS</replaceable></option></term>
263
265
        <listitem>
264
266
          <para>
265
 
            Subkey length in bits.  Default is 2048.
 
267
            Subkey length in bits.  Default is 4096.
266
268
          </para>
267
269
        </listitem>
268
270
      </varlistentry>
286
288
        <replaceable>TEXT</replaceable></option></term>
287
289
        <listitem>
288
290
          <para>
289
 
            Comment field for key.  The default value is
290
 
            <quote><literal>Mandos client key</literal></quote>.
 
291
            Comment field for key.  Default is empty.
291
292
          </para>
292
293
        </listitem>
293
294
      </varlistentry>
410
411
        </listitem>
411
412
      </varlistentry>
412
413
      <varlistentry>
413
 
        <term><filename>/tmp</filename></term>
 
414
        <term><filename class="directory">/tmp</filename></term>
414
415
        <listitem>
415
416
          <para>
416
417
            Temporary files will be written here if
451
452
    </informalexample>
452
453
    <informalexample>
453
454
      <para>
454
 
        Prompt for a password, encrypt it with the key in
455
 
        <filename>/etc/mandos</filename> and output a section suitable
456
 
        for <filename>clients.conf</filename>.
 
455
        Prompt for a password, encrypt it with the key in <filename
 
456
        class="directory">/etc/mandos</filename> and output a section
 
457
        suitable for <filename>clients.conf</filename>.
457
458
      </para>
458
459
      <para>
459
460
        <userinput>&COMMANDNAME; --password</userinput>
492
493
  <refsect1 id="see_also">
493
494
    <title>SEE ALSO</title>
494
495
    <para>
 
496
      <citerefentry><refentrytitle>intro</refentrytitle>
 
497
      <manvolnum>8mandos</manvolnum></citerefentry>,
495
498
      <citerefentry><refentrytitle>gpg</refentrytitle>
496
499
      <manvolnum>1</manvolnum></citerefentry>,
497
500
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>