lkml.org 
[lkml]   [2017]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 3/3] doc: add documentation on printing kernel addresses
    Date
    Hashing addresses printed with printk specifier %p was implemented
    recently. During development a number of issues were raised regarding
    leaking kernel addresses to userspace. Other documentation was updated but
    security/self-protection missed out.

    Add self-protection documentation regarding printing kernel addresses.

    Signed-off-by: Tobin C. Harding <me@tobin.cc>
    ---
    Documentation/security/self-protection.rst | 15 +++++++++++++++
    1 file changed, 15 insertions(+)

    diff --git a/Documentation/security/self-protection.rst b/Documentation/security/self-protection.rst
    index 60c8bd8b77bf..0f53826c78b9 100644
    --- a/Documentation/security/self-protection.rst
    +++ b/Documentation/security/self-protection.rst
    @@ -270,6 +270,21 @@ attacks, it is important to defend against exposure of both kernel memory
    addresses and kernel memory contents (since they may contain kernel
    addresses or other sensitive things like canary values).

    +Kernel addresses
    +----------------
    +
    +Printing kernel addresses to userspace leaks sensitive information about
    +the kernel memory layout. Care should be exercised when using any printk
    +specifier that prints the raw address, currently %px, %p[ad], (and %p[sSb]
    +in certain circumstances [*]). Any file written to using one of these
    +specifiers should be readable only by privileged processes.
    +
    +Kernels 4.14 and older printed the raw address using %p. As of 4.15-rc1
    +addresses printed with the specifier %p are hashed before printing.
    +
    +[*] If KALLSYMS is enabled and symbol lookup fails, the raw address is
    +printed. If KALLSYMS is not enabled the raw address is printed.
    +
    Unique identifiers
    ------------------

    --
    2.7.4
    \
     
     \ /
      Last update: 2017-12-18 23:29    [W:3.175 / U:0.696 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site