Conversation

𝙹𝚘𝚑𝚊𝚗

Вместо эпиграфа

— У вас дыра в безопасности!
— Ну, хоть что-то у нас в безопасности...

«Вылетит слово — не поймаешь, а у нас догонят, поймают и посадят»

Коротко:

Вы решили вручную одобрять подписчиков и думаете, что кроме одобренных никто не увидит ваши постыдные постики? отправляет сообщения не просто «подписчикам», а на их сервер. После этого сервер должен проявить порядочность и показывать только тем, кто на вас подписан.

Pixelfed, однако, игнорирует вопросы одобрения подписки для внешних серверов. В результате, если вы одобрили кого-то из пикселфеда, ваши «подзамочные» посты будут доступны всем юзерам с того сервера.

Тада-а-а-м! Собсно, не только пикселфеда это касается, баг (или злонамеренное действие) доступности сообщений с якобы ограниченной видимостью возможен примерно везде, где не используется E2EE шифрование, . «Что знают трое — знает и свинья».

https://fokus.cool/2025/03/25/pixelfed-vulnerability.html

2
1
0
@johan Ошибка отображения, бывает :)
1
0
0

@shuro Это не ошибка, это bug in design.

1
0
0

@johan Да нет там никакого бага. Принцип тот же, что у почтового сервера - если у меня почта на Яндексе и ты мне откуда-то пишешь, то письмо получает сервер и решает кому показать. По идее не должен показать не тому, но технически это может случиться и иногда это даже так нужно (например, если у меня пересылка стоит).

Не говоря уже о возможности серверу читать всю базу писем в принципе.

Это нормально для таких кейсов, щас бы поверх сраной социалочки E2EE наворачивать.

1
0
0

Несерьёзный Выдумщик

@johan вообще-то, твой ActivityPub-шлёт посты на другой сервер не просто так, а в почтовые ящики конкретных аккаунтов, тех самых, которые на тебя подписаны.
т.е. информация о подписках используется при рассылке постов подписчикам.

а почему сервак складирует криво потоки из почтовых ящиков отдельных аккаунтов своих — тут уже вопросики возникают.
1
0
0

@shuro

если у меня почта на Яндексе [...] По идее не должен показать не тому

Ага, кроме тов. майора и рекламного алгоритма 😉

щас бы поверх сраной социалочки E2EE наворачивать

Matrix? 😉

1
0
0

@grumb

а почему сервак складирует криво потоки из почтовых ящиков отдельных аккаунтов

Кэширование не только лишь картинков, но и постов?

2
0
0

@johan

Matrix


Это что-то на "Unable to decrypt: try loading this message later"?

0
0
0

@johan Кэширование ни при чём.

Просто нет "раскладки по ящикам", сервер сохраняет себе один пост и записывает кому его показывать. Представь, что на каком-то сервере у тебя 1000 подписчиков, ты написал что-то - не отправлять же это тысячу раз отдельно и не хранить тысячу одинаковых копий? А если ещё отредактируешь позже? А связи с комментариями и прочие лайки? Это же дикий оверхед.

2
0
0

@shuro Выше пишут, что есть. Но это по ходу вопрос терминологии.

Вот, например, взять больную тему ответов в треде. Открыв тред, ты увидишь ответы только от тех, на кого подписан сам или кто-то на твоем сервере. Следовательно, оно таки не «в ящики» приходит. 🤔

1
0
0
@johan Крупные почтовики, кстати, тоже используют схожие механизмы, благодаря чему кадровикам часто сходит с рук разослать на все десять тысяч сотрудников компании новые ценности компании с PDF-вложением на двадцать метров. Но не всегда :))
0
0
0

@johan Там "виртуальные" почтовые ящики :) Т.е. когда ты пишешь пост, то у него есть набор получателей, как у письма. Доставляется каждому из перечисленных.

Но под капотом сервер-отправитель смотрит "ага, Вася, Петя, Маша на одном сервере, отправлю им одним куском", сервер-получатель его тоже не размножает для каждого отдельно, а сохраняет один раз и помечает кому можно показать.

Вот с этим "кому можно показать" тут и глюк.

Впрочем, если бы раскладывалось индивидуально и независимо, всё равно могут быть проблемы типа "отправили Васе, а положили Маше, перепутав номер ящика". У меня был такой сбой во Френдике - личные сообщения отправлялись тупо не тому, какой-то индекс уезжал :))

1
0
0

@shuro Ну, погоди. Я ХЗ, что там с «ящиками» (влом изучать, сорян). Кроме ящиков же есть треды, есть глобалка, в которой я вижу что? — То, что пришло кому-то в «ящик» на моем сервере.

Разве не так?

1
0
0

Несерьёзный Выдумщик

@johan спецификацию publisher / subscriber погляди в ActivityPub.

1
0
0

@grumb Блин, лениво: сам я пока ничего писать не собираюсь, а от того, что я погляжу, в его работе ничего не изменится же.

1
0
0

Несерьёзный Выдумщик

@johan зато понимание как должно работать и чего требовать от авторов софта сервачного.

0
0
0

@johan Да, всё верно.

Представь, что вот есть почта, обычная такая. У тебя там есть ящик и у соседки Маши там есть ящик, и у Светы тоже. И вот ты и Маша на меня подписались.

Я получил уведомление с тех пор все свои нетленки шлю и на эти ящики. Твоя почта, соответственно, принимает и хранит. Но поскольку ни им хранить две одинаковых пачки писем неинтересно, ни мне отправлять, то на самом деле я отправляю одно письмо каждый раз, просто перечисляю на конверте кому его показывать. И почта твоя тоже хранит его в этом одном экземпляре.

Ещё на конверте может быть пометка "секретно" или "публично". Если "секретно" - значит, больше никому не показывать. А если "публично" - то почтальон его чисто по приколу выкладывает заодно под стекло в зале ожидания, чтобы и другие могли посмотреть. Вот это - глобалка и прочие алкоритмы.

Ты приходишь и спрашиваешь у почтмейстера что нового. Он показывает тебе всё, что пришло на твоё имя. А что пришло только Маше или Свете - не показывает, а им твоё личное не показывает.

Поэтому для всех всё работает как задумано - свои адреса, как бы свои ящики, но чужое публичное тоже можно посмотреть, а почте экономия - всё хранит в одном экземпляре. Так должно работать и норм работает, в целом.

А вот у Пиксельфида почтмейстер оказался придурковатый. Ты на меня подписан и Маша. Иногда я шлю письма с пометкой "секретно - для Йохана и Маши". Он вам показывает, а в паблик не показывает. Это норм.

Приходит Света и говорит - хочу подписаться на Шуро, отправь ему надушенную открытку с этим предложением. Почтмейстер отправляет. И должен теперь дождаться от меня подтверждения об этом, ну и писем для Светы. Только я взял и не одобрил запрос, поэтому продолжаю слать интимные письма с пометкой только для вас двоих. Но почтмейстер говорит - слушай, Светус, ты тоже, вроде, на него подписывалась, у меня тут зописано. Хуле я вникать буду, смотри всю евоную почту тоже, наверняка тебе тоже можно.

1
0
0

@shuro Много букв, смысл тот же: вся «приватность» это бутафория.

1
0
0

@johan Никакой бутафории, всё работает как задумано.

Если что-то не работает, то не работает.

Вообще, подобный подход используется примерно абсолютно вообще везде, кроме некоторых мессенджеров. Тебя же не смущает, что так работает твой банк, например? А там у тебя деньги лежат.

Почему от соцсети, где основное назначение в публичном взаимодействии, ждут чего-то иного - мне не очень понятно.

1
0
0

@shuro @johan Всё так. Всё завязано на доверии к почтмейстеру. Хочет он или умеет в приватность, то будет тебе "как бы" приватность, за исключением того, что он сам-то твою переписку со светами и машами читает. По крайней мере, обязан вскрывать конверты, чтобы размножать копии по списку. Также рядом сидит тащмаёр, и тётяваря прибирается у него в кабинете и на столе. И ещё миллиона два обслуживающего персонала мимокрокодилов. Т.е. да, приватность как бы есть, но бутафорская. Не надо ей пользоваться.

1
0
0

@Дед Довольно странно читать такие призывы здесь, а не в каком-нибудь onion-based мессенджере или стейтлесс-чате в даркнете :)

@johan

0
0
0