Skip to content

LxBox v2.15.9

Choose a tag to compare

@github-actions github-actions released this 16 Jul 10:30
· 2620 commits to main since this release

L×Box v2.15.9

AmneziaWG больше не роняет приложение. Профиль AmneziaWG с включённой
transport-обфускацией (s4 > 0) аварийно завершал L×Box целиком на первом же
пакете данных — приложение просто исчезало с экрана сразу после подключения.
Обычный WireGuard (без обфускации) при этом работал.

Причина — в ядре: буфер исходящего пакета выделялся без запаса под случайный
префикс, который добавляет s4, и запись префикса выходила за его границу.
Исправлено; проверено на устройстве — тот же AmneziaWG-профиль, который падал,
теперь держит трафик.

Quick links:
🆕 Что нового ·
🔧 Под капотом ·
📲 Install


🆕 Что нового

  • Фикс краша AmneziaWG (transport padding). Любой AmneziaWG-профиль с
    s4 > 0 ронял приложение SIGABRT на первом пакете данных. Теперь работает.

    Поведение AmneziaWG-профиля (s4 > 0)
    Было краш всего приложения через 20–90 с после подключения
    Стало туннель поднимается и держит трафик
  • Честная статистика загрузки у AmneziaWG. Скачанные байты на AmneziaWG-узле
    считались дважды — цифры download в Stats были завышены вдвое. Исправлено.

Ядро обновлено до v1.14.0-lx.8-rc.1.


🔧 Под капотом

Все изменения — в ядре sing-box-lx (форк wireguard-go с AmneziaWG 2.0),
приложение подтянуло их обновлением пина libbox.

  • Transport padding (s4) выходил за границу буфера. Пути инъекции пакетов
    выделяли буфер впритык, без места под сдвиг содержимого на длину s4. Теперь
    запас резервируется, сдвиг делается через overlap-безопасный copy, а пакеты,
    которые всё равно не влезают в одно WG-сообщение, отбрасываются, а не
    портят память. Красно-зелёный тест воспроизводит краш байт-в-байт.

  • Двойной учёт rx. Блок учёта принятых байт и таймеров был по недосмотру
    вставлен дважды на приёмном пути — download у AmneziaWG удваивался, а
    обновление ключа срабатывало лишний раз. Дубликат убран.

  • Ещё три падения по значению из конфига — того же класса, вскрыты
    аудитом при разборе основного бага и закрыты заодно: перепутанные
    jmin/jmax; выходящие за диапазон длины i1–i5; magic-header на полный
    диапазон 0-4294967295. Каждое роняло туннель на первом handshake от
    битой подписки; теперь значения валидируются.

  • Проверено на устройстве — AmneziaWG-профиль, падавший под нагрузкой,
    прогнан с трафиком: держит соединение, не крашится.

Обычный WireGuard (s4 = 0) не был затронут — сломанная ветка на нём не
исполняется.


📲 Install

adb install -r LxBox-v2.15.9-arm64-v8a.apk

Без uninstall! Поверх существующей установки. Настройки и подписки сохранятся.


Предыдущий релиз: v2.15.8.