/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 TODO

  • 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:
21
21
 
22
22
* mandos-client
23
23
** TODO [#B] Use capabilities instead of seteuid().
24
 
** TODO [#B] Use struct sockaddr_storage instead of a union
25
24
** TODO [#B] Use getaddrinfo(hints=AI_NUMERICHOST) instead of inet_pton()
26
 
** TODO [#B] Use getnameinfo(serv=NULL, NI_NUMERICHOST) instead of inet_ntop()
27
 
** TODO [#B] Prefer /run/tmp over /tmp, if it exists
28
25
** TODO [#C] Make start_mandos_communication() take "struct server".
29
26
 
30
27
* splashy
47
44
* plugin-runner
48
45
** TODO handle printing for errors for plugins
49
46
*** Hook up stderr of plugins, buffer them, and prepend "Mandos Plugin [plugin name]"
50
 
** TODO [#B] use scandir(3) instead of readdir(3)
 
47
** TODO [#B] use scandirat(3) instead of readdir(3)
 
48
*** Must wait until GNU libc 2.15
51
49
** TODO [#C] use same file name rules as run-parts(8)
52
50
** kernel command line option for debug info
53
 
** TODO [#B] Use openat()
54
51
 
55
52
* mandos (server)
56
53
** TODO [#B] Log level                                                    :BUGS:
114
111
** TODO [#B] "--test" option
115
112
   For testing decryption before rebooting.
116
113
 
117
 
* Makefile
118
 
** TODO [#C] Implement DEB_BUILD_OPTIONS
119
 
   http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options
120
 
 
121
114
* Package
122
115
** /usr/share/initramfs-tools/hooks/mandos
123
116
*** TODO [#C] use same file name rules as run-parts(8)