|
|
|
|
5.63, Аноним (-), 17:53, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ошибку поправили в С или в pyton?
char buffer[256];
switch(self->tag) {
case 'b':
case 'B':
sprintf(buffer, "<cparam '%c' (%d)>",
return PyUnicode_FromFormat("<cparam '%c' (%d)
...
case 'f':
sprintf(buffer, "<cparam '%c' (%f)>",
self->tag, self->value.f);
break;
Очевидно же, что это питонячий код, с классическим питонячьим же фейлом в sprintf(слишком_маленький_буфер,...)!
| |
|
|
3.15, Аноним (14), 10:26, 19/02/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
PyPy быстрее CPython! Правда PyPy использует JIT, а это очень плохо.
| |
|
|
5.31, Аноним (31), 11:36, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Обычно джит рантаймы принято ругать за то, что им нужна память, помеченная сразу на запись и исполнение, несекурно!
| |
5.40, Аноним (-), 12:28, 19/02/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
1) W^X не работает.
2) Сгенерить оптимизированный код - проц жрет, внезапно! С компилируемым то яп это было где-то там, на билдферме, 1 раз на всю толпу. А вот так это уже у вас, локально, в процессе работы. Так что питоннетормозит, но проца и оперативки все же докупите, да?!
3) А, и кодогенератор, конечно, тоже припереть придется. И таскать его везде где хочется это втулить.
4) Кстати, сколько процессорных архитектур это все поддерживает, например? А то скриптовый язык прибитый на гвозди к полутора процовым архитектурам выглядит особенно издевательски. JS, кстати, примерно вот таким и получился.
| |
|
|
|
2.13, Брат Анон (ok), 10:23, 19/02/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
Питон -- это попытка исправить дыры Си. Со всеми вытекающими последствиями. Чего ты орёшь, школоло?
| |
|
3.32, alex312 (?), 11:38, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
похоже ты здесь недавно и не знаешь всех поциентов "в лицо" :)
велкам он боард !
| |
|
4.47, Аноним (47), 13:06, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> "марсоход perseverance - это попытка исправить недочёты автомата Калашникова"
Странное сравнение..... Скорее, попытка сравнить строительные кирпичи с конструктором лего, исправляющие проблемы тяжести кирпичей и необходимость использования цементного раствора....
| |
|
3.95, Чел (?), 15:21, 20/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
Какие еще дыры Си? В данном случае у Си все хорошо. Это проблемы той макаки, которая писала CPython.
| |
|
2.22, Аноним (22), 10:55, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
Не в нём, а в модуле ctypes. Переписать модуль на Rust? Так он же, всё равно, должен вызывать сишные функции.
| |
2.82, Аноним (82), 23:03, 19/02/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ты не поверишь, но его эталонная реализация написана на С.
Какие там ещё дыры должны быть? JAVA-вские? :)
| |
|
|
2.41, Аноним (-), 12:29, 19/02/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ну ясно
С хрустом его скрестить. Получится 2 метра ржавой колючей проволоки
| |
|
1.11, Аноним (-), 10:18, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Походу кто-то попытался вычислить чему равен гугол, и наконец понял почему сообщения от инопланетян не рекомендуется декодировать - "can take over all systems on earth" :)
| |
|
2.30, Mim (ok), 11:27, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Чуть более близкие к жизни print(x), str(x) и f'x: {x}' приводят к тому же результату.
| |
|
3.43, Аноним (12), 12:40, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Зачем выводить промежуточные представления, предназначенные исключительно для передачи в сишные дыре^wфункции?
| |
|
|
1.18, Аноним (16), 10:40, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Питон2 тоже подвержен. Но он уже не поддерживается. И судя по тому что за все это время никто не применил данные методы, в данной последовательности, оно никому и не надо. И это при том что питон всегда применяли для вычислений.
| |
1.23, Аноним (21), 10:55, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не работает что-то. И тут я обратил внимание, что у меня есть только 3.8.8rc1 с 3.9.2rc1 и собраны они с _FORTIFY_SOURCE. Мде, надеялся увидеть сегфолт в питоне (хоть и сишный).
| |
|
2.66, userd (ok), 18:49, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> надеялся увидеть сегфолт в питоне (хоть и сишный).
Не надо ждать милостей от природы!
сами можем сделать, ctypes и тут поможет -
import ctypes
proto = ctypes.CFUNCTYPE(None)
func = proto(0)
func()
у меня в 3.5 работает.
| |
|
1.33, Аноним (33), 11:46, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Под гентой не воспроизводится. Причём ни на втором, ни на третьем пайтоне.
| |
|
2.35, Аноним (33), 12:00, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
Python 3.7.9 (default, Feb 10 2021, 02:14:12)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes;
>>> x = ctypes.c_double.from_param(1e300)
>>> repr(x)
"<cparam 'd' (1e+300)>"
Тут явно не 309 символов.
| |
|
3.37, Аноним (37), 12:11, 19/02/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes;
>>> x = ctypes.c_double.from_param(1e230);
>>> repr(x)
"<cparam 'd' (100000000000000009956644432600511718615881550253707240288894882888289682097749535512827356959114607773492443453354095454801046151441888338236034913910900102616284254148427024265175655196680942530570909289367345315883616691581616128.000000)>"
>>> import ctypes;
>>> x = ctypes.c_double.from_param(1e240);
>>> repr(x)
*** buffer overflow detected ***: terminated
Aborted (core dumped)
| |
|
4.42, Аноним (-), 12:30, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> *** buffer overflow detected ***: terminated
Хм, походу у тебя это не особо то и эксплойтабельное...
| |
|
|
|
1.34, Аноним (34), 11:56, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
пишет "*** buffer overflow detected ***: python2 terminated"
это плохо или хорошо?
| |
|
2.36, Аноним (33), 12:01, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это fortify source - хорошо. Переполнение буфера задетектилось и эксплойт запустить не получится, процесс самоликвидируется.
| |
|
1.44, Аноним (44), 12:44, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
> Проблема также затрагивает ветки Python 3.8 и 3.9, но обновления для них пока находятся в состоянии
Все что нужно знать о хваленом пехтоне.
| |
|
2.46, Аноним (46), 13:00, 19/02/2021 [^] [^^] [^^^] [ответить]
| +8 +/– |
Ну всё валим на джаваскрипт там безопасность из npm прям так и сочится.
| |
|
3.49, Аноним (48), 13:36, 19/02/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
А вы пробовали там 1e300 посчитать? Я не уверен что у вебмакак хватает фантазии на такие вычисления, они все же не те ботаны лабораторные :)
| |
|
|
1.51, Аноним (-), 14:18, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Надо Python пеерписать на Rust-е? что б такого не происходило.
А да, и Rust надо переписать на исправленном Python-е, ну так для профилактики чиста.
| |
|
2.62, Аноним (62), 17:36, 19/02/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
Облом состоит в том что они ... толком не умеют к другим ЯП интерфейситься! В лучшем случае - вывесят сишный :D :D :D интерфейс, как единственное что раально подключить. А теперь вопрос на засыпку: как это сделать safe? :P
| |
|
3.64, Аноним (-), 18:02, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Облом состоит в том что они ... толком не умеют к другим ЯП интерфейситься! В лучшем случае - вывесят сишный :D :D :D
Экспертус опеннетус ...
https://doc.rust-lang.org/std/ffi/index.html
> интерфейс, как единственное что раально подключить. А теперь вопрос на засыпку:
> как это сделать safe? :P
Перестать уже ламерить и прочитать наконец определение "safe/unsafe"?
| |
|
4.75, Аноним (-), 22:14, 19/02/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
> https://doc.rust-lang.org/std/ffi/index.html
Дык, блин, экспертус-анонистус, там в обратную сторону надо. Объяснить пихону как поюзать этот твой хруст. И чего ты ему вывесиешь, кроме типа-сишного :D расширения? С сишным, внезапно, api/abi, что как бы врядли очень уж "safe" совершенно независимо от того что там у вас сегодня в определениях вашего маркетингового булшита и бредней фанбоев.
| |
|
5.85, Аноним (85), 23:13, 19/02/2021 [^] [^^] [^^^] [ответить] | +1 +/– | Вообще-то, это задуманно для работы в обе стороны , специально есть типы данных... большой текст свёрнут, показать | |
|
|
3.68, еман (?), 19:13, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Облом состоит в том что они ... толком не умеют к другим
> ЯП интерфейситься! В лучшем случае - вывесят сишный :D :D :D
> интерфейс, как единственное что раально подключить. А теперь вопрос на засыпку:
> как это сделать safe? :P
твой облом состоит в том, что у всех этих языков отличное взаимодействие с C/C++, ну и с питоном
| |
|
4.70, Аноним (-), 19:38, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> твой облом состоит в том, что у всех этих языков отличное взаимодействие
> с C/C++, ну и с питоном
А могли бы придумать свой, нескучный интерфейс под каждый язык, вместо использования общепринятого!
Сразу двух зайцев одним пуком:
доказали бы всем, что "нитакиекаквсе"!
И бонусом получили бы одобрение местных мировых авторитетов разработки хелловордов!
| |
4.76, Аноним (-), 22:15, 19/02/2021 [^] [^^] [^^^] [ответить]
| –4 +/– |
> твой облом состоит в том, что у всех этих языков отличное взаимодействие
> с C/C++, ну и с питоном
Да? Ну и как из питона хруст позвать? Питон вообще в курсе абстракций хрустиков? Или вы как максимум можете типа-сишный-типа-не-сишный экстеншн ему вывесить? С прямо таки "safe" сишным api/abi? :)
| |
|
5.88, Аноним (88), 03:50, 20/02/2021 [^] [^^] [^^^] [ответить] | +/– | Эх, виндузятники-виндузоводы 8230 В никсах есть классический интерфейс, через... большой текст свёрнут, показать | |
|
|
7.98, Аноним (-), 20:30, 20/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Безопасно, кучу пайпов чтобы попить смузи
"Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.", The Art of Unix Programming, Eric Steven Raymond
Но пользователям Повершеллов, OLE, COM, ActiveX и прочих "супертехнологий", конечно виднее.
| |
|
8.99, Аноним (-), 20:40, 20/02/2021 [^] [^^] [^^^] [ответить] | +/– | Кстати, вижу им даже невдомёк, что питонячьи реализации бывают разные, на разных... текст свёрнут, показать | |
|
|
|
5.96, еман (?), 16:17, 20/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> твой облом состоит в том, что у всех этих языков отличное взаимодействие
>> с C/C++, ну и с питоном
> Да? Ну и как из питона хруст позвать? Питон вообще в курсе
> абстракций хрустиков? Или вы как максимум можете типа-сишный-типа-не-сишный экстеншн
> ему вывесить? С прямо таки "safe" сишным api/abi? :)
экспорт функций. ABI
RTFM! https://en.wikipedia.org/wiki/Application_binary_interface
| |
|
|
|
|
1.53, anonymous (??), 15:56, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
подтверждаю, на манджаре питон крашится, и даже без точек с запятой в конце строк
> import ctypes;
> x = ctypes.c_double.from_param(1e300); | |
1.67, Аноним (-), 19:06, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Для тех кто в танке. Виноваты питонисты, которые не умеют работать с функциями чистого Си.
Язык Си не для быдлокодера.
| |
|
2.69, Аноним (69), 19:33, 19/02/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ждем четверку. Для несовместимости можно использовать уже три пробела, бы... "программисты пехтона" найдут этому применение и скажут так даже лучше и красивее и подложат это несчастным пользователям.
| |
|
3.78, Аноним (-), 22:17, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Ждем четверку. Для несовместимости можно использовать уже три пробела, бы... "программисты
> пехтона" найдут этому применение и скажут так даже лучше и красивее
> и подложат это несчастным пользователям.
Лучше полтора. Пусть чешут репу как это с клавиатуры ввести.
| |
|
2.93, Ф1 (?), 13:23, 20/02/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Для тех кто в танке. Виноваты питонисты, которые не умеют работать с функциями чистого Си.
Heartbleed тоже питонисты допустили?
>Язык Си не для быдлокодера.
Понятно, значит не быдлокодеров просто не существует.
| |
|
1.71, Аноним (71), 20:17, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>В RHEL уязвимость не проявляется из-за сборки пакетов в режиме FORTIFY_SOURCE, блокирующем подобные переполнения буфера в строковых функциях.<
А что так можно было? и почему в Debian, Ubuntu не так?
| |
1.72, Плохой Танцор (?), 20:44, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
$ python
Python 2.7.16 (default, Oct 10 2019, 22:02:15)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>> x=ctypes.c_double.from_param(1e300)
>>> repr(x)
*** buffer overflow detected ***: python terminated
Аварийный останов
| |
|
2.77, Аноним (-), 22:17, 19/02/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
[quote]
$ python
bash: python: command not found
[/quote]
Так эффективнее :)
| |
|
1.73, Аноним (73), 21:30, 19/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Проблема также затрагивает ветки Python 3.8 и 3.9, но обновления для них пока находятся в состоянии кандидата в релизы (релиз запланирован на 1 марта).
О%ели чтоли столько времени тянуть с фиксом уязвимости?
| |
|
2.74, Аноним (-), 22:10, 19/02/2021 [^] [^^] [^^^] [ответить]
| +/– |
> О%ели чтоли столько времени тянуть с фиксом уязвимости?
А в 2.х вообще никогда не починят. Но бб может патчить свое ископаемое сам.
| |
2.86, userd (ok), 00:38, 20/02/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Дружище,
обнаруженная ошибка досадна, но как мне кажется проявляться должна крайне редко.
Если не затруднит - напишите как можно эксплуатировать эту уязвимость.
Мне вот слабо придумать, а Вы, вероятно, уже придумали - оттого и негодуете?
Если уж не невтерпёж ждать, можно же пофиксить самостоятельно -
s/<cparam '%c' (%f)>/<cparam '%c' (%g)>/ в _ctypes.so
| |
|
1.94, Ilya Indigo (ok), 14:10, 20/02/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> В RHEL уязвимость не проявляется из-за сборки пакетов в режиме FORTIFY_SOURCE, блокирующем подобные переполнения буфера в строковых функциях.
В openSUSE тоже все пакеты с FORTIFY_SOURCE=2 собираются.
| |
|