<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Удалённое выполнение кода в форке почтового сервера qmail от проекта Sagredo</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html</link>
    <description>В развиваемом проектом Sagredo форке почтового сервера qmail выявлена  уязвимость (CVE-2026-41113), позволяющая добиться удалённого выполнения произвольных команд на сервере с правами пользователя qmailr. Уязвимость вызвана отсутствием экранирования спецсимволов в имени хоста, возвращаемого DNS-сервером  при определении MX-шлюза, в сочетании с передачей полученного имени в команду popen без должного разделения и фильтрации аргументов при вызове shell. Уязвимость устранена в выпуске 2026.04.07. В открытом доступе опубликован инструментарий для эксплуатации уязвимости...&lt;br&gt;&lt;br&gt;Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65241&lt;br&gt;</description>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Аноним83)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#48</link>
    <pubDate>Mon, 20 Apr 2026 12:33:24 GMT</pubDate>
    <description>Там ниже я привёл код фактически выдранный из touch во фре, с уменьшиным до минимума функционалом.&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#46</link>
    <pubDate>Mon, 20 Apr 2026 06:16:23 GMT</pubDate>
    <description>Да даже если бы и с &quot;должным&quot;. Есть одно правило - данные в дочерний процесс можно передавать исключительно через механизмы IPC. Ни в коем случае не командная строка, и не stdin, дочерний процесс должен иметь выделенный канал для данных. Если дочерний процесс в это не умеет, то значит его вообще никак использовать нельзя, нуждается в доработке.&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Anonymous111)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#45</link>
    <pubDate>Mon, 20 Apr 2026 04:32:57 GMT</pubDate>
    <description>Это не древность, это суровая современность. Их так учат (в Китае?): писать на C как на питоне/баше. Синтаксис же похож?!? Похож. Ну и хреначим говнокод быстро-быстро. Времени на изучение библиотек нету. Кушать хочется.&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Anonymous111)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#44</link>
    <pubDate>Mon, 20 Apr 2026 04:32:06 GMT</pubDate>
    <description>Это не древность, это суровая современность. Их так учат (в Китае?): писать на C как на питоне/баше. Синтаксис же похож?!? Похож. Ну и хреначим говнокод быстро-быстро. Времени на изучение библиотек нету. Кушать хочется.&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#42</link>
    <pubDate>Mon, 20 Apr 2026 01:00:05 GMT</pubDate>
    <description>Да, это хорошая гипотеза. Запускать сабшелл из C для того, чтобы сделать touch, это надо быть либо альтернативно одарённым программистом, либо сисадмином.&lt;br&gt;&lt;br&gt;&lt;br&gt;Это же делается примерно так:&lt;br&gt;&lt;br&gt;int fd = open(&quot;file.txt&quot;, O_CREAT &amp;#124; O_WRONLY, 0666); // NB. эта строчка демонстрирует экстремистскую символику, простите&lt;br&gt;if (fd &amp;gt;= 0) close(fd);&lt;br&gt;&lt;br&gt;Если нужно ещё и таймстапмы обновлять, то надо добавить ещё:&lt;br&gt;&lt;br&gt;utime(&quot;file.txt&quot;, NULL);&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (aname)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#39</link>
    <pubDate>Sun, 19 Apr 2026 22:15:00 GMT</pubDate>
    <description>Одно то, что тебя трясёт от C/C++ заставляет писать на нём&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Аноним83)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#36</link>
    <pubDate>Sun, 19 Apr 2026 18:52:02 GMT</pubDate>
    <description>Вот вероятно друго одмин и накодил это :)&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Аноним83)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#35</link>
    <pubDate>Sun, 19 Apr 2026 18:43:35 GMT</pubDate>
    <description>Потому что какакод. И пейсатель поди или древний или с другого языка свичнулся.&lt;br&gt;touch - чтобы своё такое реализовать кода надо всего строчек менее 20 строчек:&lt;br&gt;&lt;br&gt;#include &amp;lt;sys/stat.h&amp;gt;&lt;br&gt;static inline int&lt;br&gt;touch_file(const char *filename) &#123;&lt;br&gt;int fd, rc;&lt;br&gt;struct timespec ts&#091;2&#093;;&lt;br&gt;&lt;br&gt;ts&#091;0&#093;.tv_sec = ts&#091;1&#093;.tv_sec = 0;&lt;br&gt;ts&#091;0&#093;.tv_nsec = ts&#091;1&#093;.tv_nsec = UTIME_NOW;&lt;br&gt;if (0 == utimensat(AT_FDCWD, filename, ts, 0))&lt;br&gt;return (0);&lt;br&gt;fd = open(filename, (O_WRONLY &amp;#124; O_CREAT), DEFFILEMODE);&lt;br&gt;if (-1 == fd)&lt;br&gt;return (errno);&lt;br&gt;rc = futimens(fd, ts);&lt;br&gt;close(fd);&lt;br&gt;if (0 == rc)&lt;br&gt;return (0);&lt;br&gt;return (errno);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;А дёргать целый запуск процесса ради такой ерунды на 1 / 4 сискола это просто нечто.&lt;br&gt;</description>
</item>

<item>
    <title>Удалённое выполнение кода в форке почтового сервера qmail от... (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/139859.html#34</link>
    <pubDate>Sun, 19 Apr 2026 18:39:38 GMT</pubDate>
    <description>Вот, ять, почему когла мне, ни разу не профессиональному программисту, а вовсе даже сисадмину, понадобилось написать небольшую программку, которая использовала функциональность некоей утилиты, я не поленился прочитать документацию на либу, на которой основана эта утилита, и изучить как подтягивать сишные либы в том языке, на котором надо было эту программу написать. И всё это - именно для того, чтобы избежать одного-единственного класса уязвимостей - того, который описан в новости.&lt;br&gt;А профессиональные программисты пошут вот так, как они пишут.&lt;br&gt;В этом же нет никакой принципиальной непреодолимой сложности - вместо вызова дочернего шелла подтянуть либу и дёргать её функции!&lt;br&gt;</description>
</item>

</channel>
</rss>
