The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Удалённое выполнение кода в форке почтового сервера qmail от проекта Sagredo"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Удалённое выполнение кода в форке почтового сервера qmail от проекта Sagredo"  +/
Сообщение от opennews (??), 19-Апр-26, 12:14 
В развиваемом проектом Sagredo форке почтового сервера qmail выявлена  уязвимость (CVE-2026-41113), позволяющая добиться удалённого выполнения произвольных команд на сервере с правами пользователя qmailr. Уязвимость вызвана отсутствием экранирования спецсимволов в имени хоста, возвращаемого DNS-сервером  при определении MX-шлюза, в сочетании с передачей полученного имени в команду popen без должного разделения и фильтрации аргументов при вызове shell. Уязвимость устранена в выпуске 2026.04.07. В открытом доступе опубликован инструментарий для эксплуатации уязвимости...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=65241

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +3 +/
Сообщение от Аноним (1), 19-Апр-26, 12:14 
> We Asked Claude to Audit Sagredo's qmail. It found a RCE.
> "Find vulnerabilities in latest version of qmail: https://github.com/sagredo-dev/qmail. Focus on vulnerabilities that could result in RCE or system compromise by processing a crafted email."
> That was the entire prompt.

Очередное спасибо нейросетям.

Ответить | Правка | Наверх | Cообщить модератору

4. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +2 +/
Сообщение от Аноним (4), 19-Апр-26, 12:19 
Ни слова что уязвимый код добавил лично Jia Tan.
Ответить | Правка | Наверх | Cообщить модератору

6. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (6), 19-Апр-26, 12:41 
А так можно было? И никаких тебе "I'm sorry, but i can't" как у ChatGPT?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

9. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним (9), 19-Апр-26, 13:40 
I'm sorry? but I'm too shy... 👉👈
Ответить | Правка | Наверх | Cообщить модератору

31. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним (31), 19-Апр-26, 21:15 
Sorry for what?
Ответить | Правка | Наверх | Cообщить модератору

26. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (26), 19-Апр-26, 18:22 
> как у ChatGPT

Этот кокретный ИИ генерирует плохой код.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

12. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (12), 19-Апр-26, 14:47 
Пожалуйста!
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (2), 19-Апр-26, 12:15 
Шел 2026 год.
Ответить | Правка | Наверх | Cообщить модератору

25. "Удалённое выполнение кода в форке почтового сервера qmail от..."  –3 +/
Сообщение от Аноним (25), 19-Апр-26, 17:51 
ежики по прежнему использовали c/c++ и кололись, ужасное дырявое поделие древних людей уровня VBScript в древнем Internet Explorer
Ответить | Правка | Наверх | Cообщить модератору

32. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (32), 19-Апр-26, 21:29 
Так это - компиляторы есть только у этих ваших устаревших немодных языков.
Ответить | Правка | Наверх | Cообщить модератору

33. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним (33), 19-Апр-26, 21:30 
С какого боку тут именно "c/c++"? Вызов дочернего процесса без должного обезвреживания аргументов ни разу не есть отличительная особенность "c/c++".
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

39. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от aname (ok), 20-Апр-26, 01:15 
Одно то, что тебя трясёт от C/C++ заставляет писать на нём
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

3. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним (4), 19-Апр-26, 12:18 
Случайность.
Ответить | Правка | Наверх | Cообщить модератору

17. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +2 +/
Сообщение от Аноним (17), 19-Апр-26, 15:14 
> Уязвимость вызвана отсутствием экранирования спецсимволов

Конечно случайность! Она у всех случается почему-то постоянно.

Ответить | Правка | Наверх | Cообщить модератору

21. "Удалённое выполнение кода в форке почтового сервера qmail от..."  –1 +/
Сообщение от Аноним (21), 19-Апр-26, 15:38 
Похоже ты начинаешь о чем-то догадываться. Но это не точно.
Ответить | Правка | Наверх | Cообщить модератору

5. "Удалённое выполнение кода в форке почтового сервера qmail от..."  –2 +/
Сообщение от Ю.Т. (?), 19-Апр-26, 12:30 
Есть же приличное развитие авторства фон Ляйтнера (@fefe). Зачем это Сагредо, где очевидно контроль над производством слабее?
Ответить | Правка | Наверх | Cообщить модератору

8. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Ю.Т. (?), 19-Апр-26, 13:15 
> Есть же приличное развитие авторства фон Ляйтнера (@fefe). Зачем это Сагредо, где
> очевидно контроль над производством слабее?

Мои извинения, не Ляйтнер, а Эрвин Хофман (@feh), перепутал ники.

Ответить | Правка | Наверх | Cообщить модератору

13. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним (12), 19-Апр-26, 14:54 
С кем ассоциирована эта Sagredo?
Ответить | Правка | Наверх | Cообщить модератору

18. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним (18), 19-Апр-26, 15:33 
У этого форка на гитхабе 18 звезд (аж восемнадцать!) какое он отношение к qmail имеет? Кто то его использует?
Ответить | Правка | Наверх | Cообщить модератору

22. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от albb (ok), 19-Апр-26, 15:58 
Зачем, зачем сохранять строку текста через вызов внешнего исполняемого файла? Или там тоже искусственный идиот постарался?
Ответить | Правка | Наверх | Cообщить модератору

24. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +2 +/
Сообщение от Rev (ok), 19-Апр-26, 17:47 
Это же юникс-вей! Ничего ты не понимаешь! Программа должна собираться из кучи разнородных утилит!
Ответить | Правка | Наверх | Cообщить модератору

30. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (30), 19-Апр-26, 21:14 
Или искусственный идиот. Или гуглил на стек оверфлоу, и сначала нашёл команду touch для создания пустого файла - что вполне логично, если пишешь на bash - а потом нашёл, как запустить системную команду из С/С++. popen как бы намекает.
----------------------
Впрочем, есть у меня одна идея: если теоретически создание файла может занимать дофига времени (допустим, на глючном сетевом диске создаём), это может быть способ растянуть процесс. Можно было конечно сделать fork() или запустить в отдельном потоке, но если нужен ещё и контроль завершения процесса - вот вам, файловый дескриптор который будет доступен на чтение, когда процесс завершится.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

28. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (28), 19-Апр-26, 19:19 
> https://man7.org/linux/man-pages/man2/open.2.html

//man7.org/linux/man-pages/man3/popen.3.html

unsigned long i = 0;

if (control_readint(&i,"control/notlshosts_auto") && i)
{
  struct passwd *info = getpwuid(getuid()); // get qmail dir
  FILE *fp;
  char acfcommand[1200];
  
  sprintf(acfcommand, "/bin/touch %s/control/notlshosts/'%s'", info->pw_dir, partner_fqdn);
  
  fp = popen(acfcommand, "r"); // <-------------------!!!!!
  
  if (fp == NULL)
  {
    out("Failed to run touch command ");
    exit(1);
  }
  
  pclose(fp);
}

Ответить | Правка | Наверх | Cообщить модератору

29. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (29), 19-Апр-26, 20:49 
>отсутствием экранирования спецсимволов в имени хоста, возвращаемого DNS-сервером при определении MX-шлюза, в сочетании с передачей полученного имени в команду popen без должного разделения и фильтрации аргументов при вызове shell.

Таким людям надо пожизненно запрещать заниматься программированием на людом языке, хоть на Раст, хоть на Бэйсике.

Ответить | Правка | Наверх | Cообщить модератору

34. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (33), 19-Апр-26, 21:39 
Вот, ять, почему когла мне, ни разу не профессиональному программисту, а вовсе даже сисадмину, понадобилось написать небольшую программку, которая использовала функциональность некоей утилиты, я не поленился прочитать документацию на либу, на которой основана эта утилита, и изучить как подтягивать сишные либы в том языке, на котором надо было эту программу написать. И всё это - именно для того, чтобы избежать одного-единственного класса уязвимостей - того, который описан в новости.
А профессиональные программисты пошут вот так, как они пишут.
В этом же нет никакой принципиальной непреодолимой сложности - вместо вызова дочернего шелла подтянуть либу и дёргать её функции!
Ответить | Правка | Наверх | Cообщить модератору

36. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним83 (?), 19-Апр-26, 21:52 
Вот вероятно друго одмин и накодил это :)
Ответить | Правка | Наверх | Cообщить модератору

42. Скрыто модератором  +/
Сообщение от Аноним (42), 20-Апр-26, 04:00 
Ответить | Правка | Наверх | Cообщить модератору

35. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +1 +/
Сообщение от Аноним83 (?), 19-Апр-26, 21:43 
Потому что какакод. И пейсатель поди или древний или с другого языка свичнулся.
touch - чтобы своё такое реализовать кода надо всего строчек менее 20 строчек:

#include <sys/stat.h>
static inline int
touch_file(const char *filename) {
    int fd, rc;
    struct timespec ts[2];

    ts[0].tv_sec = ts[1].tv_sec = 0;
    ts[0].tv_nsec = ts[1].tv_nsec = UTIME_NOW;
    if (0 == utimensat(AT_FDCWD, filename, ts, 0))
        return (0);
    fd = open(filename, (O_WRONLY | O_CREAT), DEFFILEMODE);
    if (-1 == fd)
        return (errno);
    rc = futimens(fd, ts);
    close(fd);
    if (0 == rc)
        return (0);
    return (errno);
}

А дёргать целый запуск процесса ради такой ерунды на 1 / 4 сискола это просто нечто.

Ответить | Правка | Наверх | Cообщить модератору

37. "Удалённое выполнение кода в форке почтового сервера qmail от..."  +/
Сообщение от Аноним (29), 19-Апр-26, 22:07 
>пейсатель поди или древний или с другого языка

Если у человека уровень IQ < 40, то совершенно не имеет значения его возраст или на каком языке он пишет.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру