Size: a a a

2020 July 27

∀lǝxǝʎ in SPbLUG chat
Vartan Khachaturov
wart@blacky:~$ cat ./try.c 
#include <stdlib.h>
#include <stdio.h>

int main(void) {
   int i, j;
   i = 1;

   j = i + i++;
   printf("%d\n", j);
   i = 1;
   j = i + i + i++;
   printf("%d\n", j);
   return 0;
}
wart@blacky:~$ gcc -O0 ./try.c
wart@blacky:~$ ./a.out
3
3
wart@blacky:~$ clang-9 -O0 ./try.c
./try.c:8:14: warning: unsequenced modification and access to 'i' [-Wunsequenced]
   j = i + i++;
       ~    ^
./try.c:11:18: warning: unsequenced modification and access to 'i' [-Wunsequenced]
   j = i + i + i++;
       ~        ^
2 warnings generated.
wart@blacky:~$ ./a.out
2
3
🤔
а i++ + i clang бы устроило?
источник

VK

Vartan Khachaturov in SPbLUG chat
∀lǝxǝʎ
🤔
а i++ + i clang бы устроило?
Думаю, без разницы
источник

VK

Vartan Khachaturov in SPbLUG chat
∀lǝxǝʎ
🤔
а i++ + i clang бы устроило?
забавно, но ты прав, в другом порядке другой результат :)
источник

∀lǝxǝʎ in SPbLUG chat
но gcc пофиг же, это только в clang есть разница
источник

VK

Vartan Khachaturov in SPbLUG chat
да
источник

∀lǝxǝʎ in SPbLUG chat
вообще с точки зрения математики кнеч тут нет ни какого UB и порядок операций чётко определён, так что я реально не догоняю ради чего при -O0 это долно быть UB и выдавать 3
источник

VK

Vartan Khachaturov in SPbLUG chat
потому что все это один sequence point
источник

VK

Vartan Khachaturov in SPbLUG chat
и видно, что шланг без оптимизации тупо выполняет вычисления в указанном порядке — сначала делает i++, потом для следующего сложения вытаскивает из памяти в регистр, и добавляет :) а если наоборот, то он сначала складывает i, а уже потом перед выходом делает i++
источник

VK

Vartan Khachaturov in SPbLUG chat
(вот что значит последняя неделя перед отпуском и вообще уже ничего не хочется делать, непосредственно относящегося к работе)
источник

∀lǝxǝʎ in SPbLUG chat
Vartan Khachaturov
(вот что значит последняя неделя перед отпуском и вообще уже ничего не хочется делать, непосредственно относящегося к работе)
Ну чё ты начинаешь, я только заварил кофе и настроился на работу
источник

AF

Andrey F in SPbLUG chat
источник

D

Denis in SPbLUG chat
😂 я фрврдну в спбафту
источник

AF

Andrey F in SPbLUG chat
не рефлексируй распространяй
источник
2020 July 28

VP

Vadim "Oxyd&quo... in SPbLUG chat
Это невидимый  @schors
источник
2020 July 29

АМ

Андрей Мавлянов... in SPbLUG chat
⭕️ CVE-2020-10713 GRUB2 - BootHole

В GNU GRUB2 обнаружили неприятную уязвимость.

Затрагивает SecureBoot.
Уязвимы почти все дистры Linux, куча других embedded операционок и решений вроде Xen.

Уязвимость как из учебника, переполнение кучи при чтении слишком длинного параметра из grub.cfg.

Проверку на длину конечно же добавили, и на такой случай вызвали макрос fatal_error, и как оказалось fatal_error громко ругается, но не останавливает исполнение кода (а все надеялись), отсюда контроль над памятью.

И это всё за пределами контекста операционной системы, никаких ASLR, DEP и nx mitigation нет, зато есть полный контроль над загрузкой оси.

Так как GRUB отвечает за bootload, привилегии при эксплуатации наивысшие, простор для буткитов.

Репорт подтолкнул поаудитить код GRUB, и оказалось, что там еще ряд неприятных багов.

👉 https://eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/
источник

SY

Stanislav Yankovsky in SPbLUG chat
Андрей Мавлянов
⭕️ CVE-2020-10713 GRUB2 - BootHole

В GNU GRUB2 обнаружили неприятную уязвимость.

Затрагивает SecureBoot.
Уязвимы почти все дистры Linux, куча других embedded операционок и решений вроде Xen.

Уязвимость как из учебника, переполнение кучи при чтении слишком длинного параметра из grub.cfg.

Проверку на длину конечно же добавили, и на такой случай вызвали макрос fatal_error, и как оказалось fatal_error громко ругается, но не останавливает исполнение кода (а все надеялись), отсюда контроль над памятью.

И это всё за пределами контекста операционной системы, никаких ASLR, DEP и nx mitigation нет, зато есть полный контроль над загрузкой оси.

Так как GRUB отвечает за bootload, привилегии при эксплуатации наивысшие, простор для буткитов.

Репорт подтолкнул поаудитить код GRUB, и оказалось, что там еще ряд неприятных багов.

👉 https://eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/
Я думаю, это будет закрыто со скоростью света. Всякие редхаты.
источник

IE

Ivan EKbfh in SPbLUG chat
Закрыто!=везде обновлено
источник

DK

Dmitriy K in SPbLUG chat
что за контора cmtk.net?
источник
2020 July 30

И

Иван in SPbLUG chat
Dmitriy K
что за контора cmtk.net?
Похоже что прикольная -  Database: Berkley DB
источник

И

Иван in SPbLUG chat
и вообще прекрасный выбор БД - Oracle, SQL Server, my SQL....
источник