/mandos/release

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

« back to all changes in this revision

Viewing changes to mandos.xml

  • Committer: Teddy Hogeborn
  • Date: 2014-06-08 03:10:08 UTC
  • mto: (237.7.272 trunk)
  • mto: This revision was merged to the branch mainline in revision 317.
  • 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">
5
 
<!ENTITY TIMESTAMP "2012-01-01">
 
5
<!ENTITY TIMESTAMP "2013-10-26">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
36
36
      <year>2010</year>
37
37
      <year>2011</year>
38
38
      <year>2012</year>
 
39
      <year>2013</year>
39
40
      <holder>Teddy Hogeborn</holder>
40
41
      <holder>Björn Påhlsson</holder>
41
42
    </copyright>
100
101
      <sbr/>
101
102
      <arg><option>--statedir
102
103
      <replaceable>DIRECTORY</replaceable></option></arg>
 
104
      <sbr/>
 
105
      <arg><option>--socket
 
106
      <replaceable>FD</replaceable></option></arg>
 
107
      <sbr/>
 
108
      <arg><option>--foreground</option></arg>
103
109
    </cmdsynopsis>
104
110
    <cmdsynopsis>
105
111
      <command>&COMMANDNAME;</command>
228
234
        <term><option>--priority <replaceable>
229
235
        PRIORITY</replaceable></option></term>
230
236
        <listitem>
231
 
          <xi:include href="mandos-options.xml" xpointer="priority"/>
 
237
          <xi:include href="mandos-options.xml"
 
238
                      xpointer="priority_compat"/>
232
239
        </listitem>
233
240
      </varlistentry>
234
241
      
286
293
        <term><option>--no-restore</option></term>
287
294
        <listitem>
288
295
          <xi:include href="mandos-options.xml" xpointer="restore"/>
 
296
          <para>
 
297
            See also <xref linkend="persistent_state"/>.
 
298
          </para>
289
299
        </listitem>
290
300
      </varlistentry>
291
301
      
296
306
          <xi:include href="mandos-options.xml" xpointer="statedir"/>
297
307
        </listitem>
298
308
      </varlistentry>
 
309
      
 
310
      <varlistentry>
 
311
        <term><option>--socket
 
312
        <replaceable>FD</replaceable></option></term>
 
313
        <listitem>
 
314
          <xi:include href="mandos-options.xml" xpointer="socket"/>
 
315
        </listitem>
 
316
      </varlistentry>
 
317
      
 
318
      <varlistentry>
 
319
        <term><option>--foreground</option></term>
 
320
        <listitem>
 
321
          <xi:include href="mandos-options.xml"
 
322
                      xpointer="foreground"/>
 
323
        </listitem>
 
324
      </varlistentry>
 
325
      
299
326
    </variablelist>
300
327
  </refsect1>
301
328
  
378
405
      extended timeout, checker program, and interval between checks
379
406
      can be configured both globally and per client; see
380
407
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
381
 
      <manvolnum>5</manvolnum></citerefentry>.  A client successfully
382
 
      receiving its password will also be treated as a successful
383
 
      checker run.
 
408
      <manvolnum>5</manvolnum></citerefentry>.
384
409
    </para>
385
410
  </refsect1>
386
411
  
414
439
    </para>
415
440
  </refsect1>
416
441
  
 
442
  <refsect1 id="persistent_state">
 
443
    <title>PERSISTENT STATE</title>
 
444
    <para>
 
445
      Client settings, initially read from
 
446
      <filename>clients.conf</filename>, are persistent across
 
447
      restarts, and run-time changes will override settings in
 
448
      <filename>clients.conf</filename>.  However, if a setting is
 
449
      <emphasis>changed</emphasis> (or a client added, or removed) in
 
450
      <filename>clients.conf</filename>, this will take precedence.
 
451
    </para>
 
452
  </refsect1>
 
453
  
417
454
  <refsect1 id="dbus_interface">
418
455
    <title>D-BUS INTERFACE</title>
419
456
    <para>
481
518
        </listitem>
482
519
      </varlistentry>
483
520
      <varlistentry>
484
 
        <term><filename>/var/run/mandos.pid</filename></term>
 
521
        <term><filename>/run/mandos.pid</filename></term>
485
522
        <listitem>
486
523
          <para>
487
524
            The file containing the process id of the
488
525
            <command>&COMMANDNAME;</command> process started last.
 
526
            <emphasis >Note:</emphasis> If the <filename
 
527
            class="directory">/run</filename> directory does not
 
528
            exist, <filename>/var/run/mandos.pid</filename> will be
 
529
            used instead.
489
530
          </para>
490
531
        </listitem>
491
532
      </varlistentry>
536
577
      There is no fine-grained control over logging and debug output.
537
578
    </para>
538
579
    <para>
539
 
      Debug mode is conflated with running in the foreground.
540
 
    </para>
541
 
    <para>
542
580
      This server does not check the expire time of clients’ OpenPGP
543
581
      keys.
544
582
    </para>