<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/126102/">https://git.reviewboard.kde.org/r/126102/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On November 18th, 2015, 2:40 p.m. UTC, <b>David Edmundson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">won't make a difference, SDDM sources a tonne before we get to you.</p></pre>
</blockquote>
<p>On November 18th, 2015, 2:45 p.m. UTC, <b>David Edmundson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">more specifically:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">https://github.com/sddm/sddm/blob/master/data/scripts/wayland-session</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">we also have anything loaded from pam_env which can include ~/.pam_environment depending on pam_env config.</p></pre>
</blockquote>
<p>On November 18th, 2015, 3:05 p.m. UTC, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">that's not good. Is there a chance we can get this changed in sddm or is that needed?</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The top one, we can do.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It will break some workflows (otherwise we wouldn't be sourcing them), but speaking purely technically that's possible.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The second one:
Getting the env from pam is something we <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">need</em> to do, and on almost every distro that includes pam_env with it's hook to load user set things.
There is an option to pam_env to make it not load envs from the user dir, but that means every distro updating their pam files.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">On arch:
-required pam_env.so
+required pam_env.so user_env=0</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">on the following files:
system-auth
system-login</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">we can't change that from sddm.</p></pre>
<br />
<p>- David</p>
<br />
<p>On November 18th, 2015, 8:18 a.m. UTC, Martin Gräßlin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for Plasma.</div>
<div>By Martin Gräßlin.</div>
<p style="color: grey;"><i>Updated Nov. 18, 2015, 8:18 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-workspace
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This change makes sure that the environment scripts are not sourced
before KWin is started. No user installed scripts are allowed to modify
KWin's environment as that opens an attack vector.
For example any binary plugin loaded into KWin (be it QStyle, QPT plugin,
etc.) is able to become a key logger. If the env variables were allowed
to be sourced before KWin is started a malicious application run as user
(e.g. exploiting browser vulnerability) would be able to install a key
logger. Required steps:
1. install a malicious QStyle plugin somewhere in $HOME
2. place a script in env to adjust variables to load the QStyle plugin
This would be enough to have a key logger on next login.
Given that the startup of KWin must not be affected by any scripts
owned by user prior to startup.
The env scripts are now sourced as first step of startplasma, so
for applications in the session there is no difference.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>startkde/startplasma.cmake <span style="color: grey">(8360a636d3f68c957a15158484360a611cfe3ff8)</span></li>
<li>startkde/startplasmacompositor.cmake <span style="color: grey">(8b5db615142455fd360c66504fc5d5a7754a029c)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/126102/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>