<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 01:14:48 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-93191 — smack: fix incorrect task context in smack_msg_queue_msgrcv</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-93191</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;smack: fix incorrect task context in smack_msg_queue_msgrcv&lt;/p&gt;
&lt;p&gt;The smack_msg_queue_msgrcv() function incorrectly checks
the permissions of the &amp;#39;current&amp;#39; task instead of the
&amp;#39;target&amp;#39; task.&lt;/p&gt;
&lt;p&gt;In the msgsnd() syscall path, if a receiver is already waiting,
the pipelined_send() optimization is used to push the message
directly to the receiver task:&lt;/p&gt;
&lt;p&gt;ipc/msg.c`pipelined_send():
    ` smp_store_release(&amp;amp;msr-&amp;gt;r_msg, msg)&lt;/p&gt;
&lt;p&gt;In this case, the &amp;#39;sender&amp;#39; (current) task performs the check
on behalf of the &amp;#39;receiver&amp;#39; task (msr-&amp;gt;r_tsk, passed as the
&amp;#39;target&amp;#39; parameter):&lt;/p&gt;
&lt;p&gt;ipc/msg.c`pipelined_send():
  ` security_msg_queue_msgrcv(,, target := msr-&amp;gt;r_tsk,,)&lt;/p&gt;
&lt;p&gt;However, smack_msg_queue_msgrcv() ignores the &amp;#39;target&amp;#39; and
checks &amp;#39;current&amp;#39;:&lt;/p&gt;
&lt;p&gt;smack_msg_queue_msgrcv(…)
  ` smk_curacc_msq(isp, MAY_READWRITE); // current task&lt;/p&gt;
&lt;p&gt;&amp;#39;current&amp;#39; MAY satisfy smack_msg_queue_msgrcv r/w requirement,
but &amp;#39;target&amp;#39; (the receiver task) might NOT;
as a result, an unauthorized receiver gets the message,
violating MAC policy.&lt;/p&gt;
&lt;p&gt;Test:
1) create a sysv message queue with label “foo”
2) echo &amp;#34;bar foo r&amp;#34; &amp;gt;/smack/load2
3) msgrcv(,,,0,MSG_NOERROR) in &amp;#34;bar&amp;#34;-labeled task.
    The task is waiting for the messages ...
4) msgsnd() from a &amp;#34;foo&amp;#34;-labeled task:
&amp;#34;bar&amp;#34;-labeled task gets the message.&lt;/p&gt;
&lt;p&gt;This patch fixes the issue by checking permission on the
&amp;#39;target&amp;#39; task instead of &amp;#39;current&amp;#39;.&lt;/p&gt;
&lt;p&gt;(2008-02-04, Casey Schaufler)&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;smack: fix incorrect task context in smack_msg_queue_msgrcv&lt;/p&gt;
&lt;p&gt;The smack_msg_queue_msgrcv() function incorrectly checks
the permissions of the &amp;#39;current&amp;#39; task instead of the
&amp;#39;target&amp;#39; task.&lt;/p&gt;
&lt;p&gt;In the msgsnd() syscall path, if a receiver is already waiting,
the pipelined_send() optimization is used to push the message
directly to the receiver task:&lt;/p&gt;
&lt;p&gt;ipc/msg.c`pipelined_send():
    ` smp_store_release(&amp;amp;msr-&amp;gt;r_msg, msg)&lt;/p&gt;
&lt;p&gt;In this case, the &amp;#39;sender&amp;#39; (current) task performs the check
on behalf of the &amp;#39;receiver&amp;#39; task (msr-&amp;gt;r_tsk, passed as the
&amp;#39;target&amp;#39; parameter):&lt;/p&gt;
&lt;p&gt;ipc/msg.c`pipelined_send():
  ` security_msg_queue_msgrcv(,, target := msr-&amp;gt;r_tsk,,)&lt;/p&gt;
&lt;p&gt;However, smack_msg_queue_msgrcv() ignores the &amp;#39;target&amp;#39; and
checks &amp;#39;current&amp;#39;:&lt;/p&gt;
&lt;p&gt;smack_msg_queue_msgrcv(…)
  ` smk_curacc_msq(isp, MAY_READWRITE); // current task&lt;/p&gt;
&lt;p&gt;&amp;#39;current&amp;#39; MAY satisfy smack_msg_queue_msgrcv r/w requirement,
but &amp;#39;target&amp;#39; (the receiver task) might NOT;
as a result, an unauthorized receiver gets the message,
violating MAC policy.&lt;/p&gt;
&lt;p&gt;Test:
1) create a sysv message queue with label “foo”
2) echo &amp;#34;bar foo r&amp;#34; &amp;gt;/smack/load2
3) msgrcv(,,,0,MSG_NOERROR) in &amp;#34;bar&amp;#34;-labeled task.
    The task is waiting for the messages ...
4) msgsnd() from a &amp;#34;foo&amp;#34;-labeled task:
&amp;#34;bar&amp;#34;-labeled task gets the message.&lt;/p&gt;
&lt;p&gt;This patch fixes the issue by checking permission on the
&amp;#39;target&amp;#39; task instead of &amp;#39;current&amp;#39;.&lt;/p&gt;
&lt;p&gt;(2008-02-04, Casey Schaufler)&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-93191</guid>
    </item>
  </channel>
</rss>
