|
| 1.11, Аноним (11), 22:36, 27/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –8 +/– |
Проблема общесистемная, тяжёлое наследие сляпанных на коленке юниксов для решения локалхостных задач, тяп-ляп и в продакшен. Самбу рикошетом пришибло слегка. Ну да не впервой.
| | |
| |
| 2.15, Аноним (15), 02:01, 28/05/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
В масдае есть системный вызов, который хотя бы позволяет передать аргументы для команды в листе?
| | |
|
| 1.12, Аноним (12), 22:53, 27/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– | |
> передают логин и пароль в скрипт ... без экранирования спецсимволов
Пора бы уж придумать более безопасный язык.
| | |
| |
| |
| |
| 4.19, morphe (?), 02:29, 28/05/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
А если одна команда передаёт аргументы другой - то 2 экрана
А если один из этих аргументов приходит от юзера - то один экран должен быть согласно правилам одной программы, а другой согласно правилам другой
И shell не забудь, да, для него тоже экранирование нужно
Правила экранирования недостаточно подробно описаны? Чтож, держись, страдай, экраннезабывай, но ни в коем случае не отходи от экранирования строк в нормальный ЯП!
| | |
|
|
|
| 1.17, нах. (?), 02:19, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– | |
в очередной раз тот случай, когда не играми в бесконечное экранирование спецсимволов надо было заниматься, а срезать из потока все символы кроме разрешенных вообще, не разбирая что там. Причем прямо на этапе приема данных от юзера.
бобби тэйблс перетопчется.
| | |
| |
| 2.20, Аноним (20), 05:54, 28/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
что за костыли
просто надо делать posix_spawn(), а не эту чушь с запуском шелла
| | |
| 2.22, Аноним (22), 07:58, 28/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> срезать из потока все символы
Это ещё одна итерация идеи "validate". Давно звучит рефрен "parse, don't validate", я предлагаю пойти и почитать к чему это жжж, чтобы понять, почему валидация -- это мёртвому припарки.
| | |
| |
| 3.26, нах. (?), 10:15, 28/05/2026 [^] [^^] [^^^] [ответить]
| +/– | |
давай расскажи мне про мертвому припарки когда никаких символов кроме alfanumeric и пунктуационных из строго ограниченного списка - просто нет и быть не может.
и да, бобби в очередной раз перетопчется, не сумев впихнуть в свое имя все длинные тире и угловые скобочки. Они там нахрен не нужны.
(более того, в оригинале с которого содрана самба так и делается, набор символов для учетки был жестко ограничен, и лишь часть этих ограничений потом сняли в поздних реализациях от ms)
А вот с парсингом недоверенного ввода проблема у тебя будет вечной - где-нибудь да в очередной раз вляпаешься.
| | |
|
| 2.25, Sm0ke85 (ok), 10:12, 28/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
>а срезать из потока все символы кроме разрешенных вообще
Не, ерунда, а с паролями как или хэшами???
| | |
| |
| 3.27, нах. (?), 10:35, 28/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
с хэшами все нормально, в base64 нет никаких опасных символов.
Пароли передающиеся в другую отдельную программу - э... в общем за это надо отрубать руки по самую голову. Даже если они передаются безопастным способом (потому что таких не бывает, никогда нельзя гарантировать что на той стороне пайпа кто-то доверенный), а не через "%u" или переменные окружения доступные всем и каждому.
| | |
|
|
| 1.18, runoverheads (ok), 02:21, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
passwordprogram = talloc_string_sub(ctx, passwordprogram, "%u", name);
...
if (execle("/bin/sh", "sh", "-c", passwordprogram, NULL, eptrs) < 0)
они шел вызывают!!! передав все аргументы одной строкой. вместо того чтобы вызвать само приложение и передать ему список аргументов (разделённых NULL).
переделывать конечно не стали, просто добавили поиск такого набора символов:
p = strchr("\"[]:;|=+*?<>/\\,", c);
символы ', -, &, ! видимо безопасные.
| | |
| 1.23, Жироватт (ok), 09:19, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
О, очередная *уязвимость* в месте, где вставляется уже провалидированная и доверенная строка. Небось очередной ЫЫ нашел.
Уязвимости класса "если в интерпретатор скуля вставить команду DROP TABLE users, то она удалит таблицу юзеров, невероятно". Это не проблема этих подсистем, это проблема кода, который в принципе может принимать любые символы в этих полях, особенно требующие экранирования.
| | |
| |
| 2.28, нах. (?), 10:38, 28/05/2026 [^] [^^] [^^^] [ответить]
| +/– |
так проблема именно в том что она провалидирована. А не ограничена сабсетом символов (теперь наконец вроде бы догадались, но похоже что опять не там где она впервые появляется, так что ждите новых сюрпризов).
С точки зрения бобби тэйблса строка правильная, его так зовут, валидация пройдена.
| | |
|
|