Bug 53138

Summary: SIGABRT по завершению воспроизведения на KDE
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: vorbis-toolsAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P2 CC: aris, glebfm, ldv, placeholder, rider, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 46625    
Attachments:
Description Flags
Тестовый файл none

Description Artem Varaksa 2025-02-18 16:51:16 MSK
Created attachment 17770 [details]
Тестовый файл

Шаги
====

1. $ ogg123 file.ogg

Фактический результат
=====================

По завершению воспроизведения SIGABRT:

> Звуковое Устройство:   PulseAudio Output
> 
> Воспроизведение: file.ogg
> Поток Ogg Vorbis: 2 канал, 44100 Гц
> Album: Example Files
> Title: OGG Test File
> Artist: Online-Convert.com
> *** buffer overflow detected ***: terminated,3 kbps)  Выходной Буфер  77,8%                      
> Аварийный останов (образ памяти сброшен на диск)

Ожидаемый результат
===================

Успешное завершение работы приложения.

Дополнительно
=============

Coredump нет, несмотря на "образ памяти сброшен на диск":

> $ coredumpctl info
> ...
> Message: Process 5709 (ogg123) of user 1000 terminated abnormally without generating a coredump.

Воспроизводимость
=================

ALT Workstation K 11.0 beta20250210 x86_64
ALT Education (KDE) 11.0 alpha20240606 x86_64

Воспроизводится на виртуальных машинах:

[p11] vorbis-tools-1.4.2-alt1.x86_64
[sisyphus] vorbis-tools-1.4.2-alt2.x86_64

Не воспроизводится в других DE.
Comment 1 Yuri N. Sedunov 2025-02-18 17:04:23 MSK
Вроде бы должно быть исправлено

* Sun Feb 16 2025 Anton Farygin <rider@altlinux.ru> 1.4.2-alt2
- Added patch from upstream gitlab with fix buffer Overflow vulnerability
  in Vorbis-tools (Fixes: CVE-2023-43361).
- Fixed build with gcc 14.

но:
$ C ogg123 /usr/share/lincity-ng/sounds/TruckEngine.ogg

Audio Device:   PulseAudio Output

Playing: /usr/share/lincity-ng/sounds/TruckEngine.ogg
Ogg Vorbis stream: 1 channel, 11025 Hz
                                                                                
Done.

$ ogg123 /usr/share/lincity-ng/sounds/TruckEngine.ogg

Звуковое Устройство:   PulseAudio Output

Воспроизведение: /usr/share/lincity-ng/sounds/TruckEngine.ogg
Поток Ogg Vorbis: 1 канал, 11025 Гц
*** buffer overflow detected ***: terminated,6 kbps)  Выходной Буфер  82,6% (EOS)
Аварийный останов

Обращаю внимание, что с LANG=C не валится.
Comment 2 Artem Varaksa 2025-02-18 17:36:41 MSK
Исходя из https://nvd.nist.gov/vuln/detail/CVE-2023-43361, проблема была связана  с конвертированием wav -> ogg:

> Buffer Overflow vulnerability in Vorbis-tools v.1.4.2 allows a local attacker to execute arbitrary code and cause a denial of service during the conversion of wav files to ogg files.

И в https://github.com/xiph/vorbis-tools/issues/41 в POC используется oggenc, а не ogg123.

Обе buffer overflow, но мне кажется это могут быть разные проблемы.
Comment 3 Sergey V Turchin 2025-02-28 15:57:05 MSK
Интересно, что у libvorbis лежит тарбол 1.4.2, а в git только 1.3.7 .
Comment 4 Sergey V Turchin 2025-02-28 15:59:55 MSK
Из изменений вижу только https://gitlab.xiph.org/xiph/vorbis/-/commit/315da9cc9d30484c802b2e2ea150df39e060e2b9
и в коменте "out of bounds".
Comment 5 Anton Farygin 2025-03-01 12:28:31 MSK
Да, там переполнение буфера при выводе статистики в UTF локали.
Апстрим не озаботился никакими проверками и не заморачиваясь наполняет буфер в 200 байт данными для вывода.
Comment 6 Repository Robot 2025-03-01 13:35:44 MSK
vorbis-tools-1.4.2-alt3 -> sisyphus:

 Sat Mar 01 2025 Anton Farygin <rider@altlinux.ru> 1.4.2-alt3
 - Fixed buffer overflow in ogg123 when using non-C locales (Closes: #53138).