Краш приложения при повреждении конфигурационного файла #281

Closed
opened 1 month ago by rodion.n · 10 comments
Collaborator

В случае если каким-то образом повреждается конфигурационный файл любые действия в приложении приводят к вылету,
image
image
image

Starting program: /usr/local/bin/ubl-settings-usergroups -d

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) n
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe1a926c0 (LWP 19387)]
[New Thread 0x7fffe12916c0 (LWP 19388)]
[New Thread 0x7fffe0a906c0 (LWP 19389)]
Gtk-Message: 10:46:51.535: Failed to load module "colorreload-gtk-module"
Gtk-Message: 10:46:51.535: Failed to load module "window-decorations-gtk-module"
[Detaching after vfork from child process 19390]
[New Thread 0x7fffd3a286c0 (LWP 19412)]
[New Thread 0x7fffd2e5a6c0 (LWP 19413)]
[Detaching after vfork from child process 19414]
[New Thread 0x7fffd26596c0 (LWP 19417)]
[Detaching after vfork from child process 19418]
[Thread 0x7fffd26596c0 (LWP 19417) exited]
[Detaching after vfork from child process 19467]
[Detaching after vfork from child process 19485]
/dev/fd/3: строка 522: 0edward8493]='Edward Bill:::::': команда не найдена
/dev/fd/3: строка 522: 0edward8493]='2025-10-02:::::': команда не найдена
[Detaching after vfork from child process 19583]
setsid /usr/bin/bash -c 'pkexec ubl-settings-usergroups'; exit
[New Thread 0x7fffd1c586c0 (LWP 19599)]
[Detaching after vfork from child process 19600]
[Thread 0x7fffd3a286c0 (LWP 19412) exited]
[Thread 0x7fffe0a906c0 (LWP 19389) exited]
[Thread 0x7fffe12916c0 (LWP 19388) exited]
[Thread 0x7fffe1f9e600 (LWP 19384) exited]
[Thread 0x7fffd1c586c0 (LWP 19599) exited]
[Thread 0x7fffe1a926c0 (LWP 19387) exited]
[Thread 0x7fffd2e5a6c0 (LWP 19413) exited]
[New process 19384]
[Inferior 1 (process 19384) exited normally]
(gdb) Gtk-Message: 10:47:01.149: Failed to load module "colorreload-gtk-module"
Gtk-Message: 10:47:01.149: Failed to load module "window-decorations-gtk-module"
/dev/fd/3: строка 522: 0edward8493]='Edward Bill:::::': команда не найдена
/dev/fd/3: строка 522: 0edward8493]='2025-10-02:::::': команда не найдена

В случае если каким-то образом повреждается конфигурационный файл любые действия в приложении приводят к вылету, ![image](/attachments/a5de0eaa-97d4-46de-829b-85730aff081a) ![image](/attachments/0f893720-dbe8-4490-98a7-8758517f5c89) ![image](/attachments/dae4d97a-bdaf-442e-ad0a-a26837cf7e0d) ``` Starting program: /usr/local/bin/ubl-settings-usergroups -d This GDB supports auto-downloading debuginfo from the following URLs: <https://debuginfod.archlinux.org> Enable debuginfod for this session? (y or [n]) n Debuginfod has been disabled. To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit. [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". [New Thread 0x7fffe1a926c0 (LWP 19387)] [New Thread 0x7fffe12916c0 (LWP 19388)] [New Thread 0x7fffe0a906c0 (LWP 19389)] Gtk-Message: 10:46:51.535: Failed to load module "colorreload-gtk-module" Gtk-Message: 10:46:51.535: Failed to load module "window-decorations-gtk-module" [Detaching after vfork from child process 19390] [New Thread 0x7fffd3a286c0 (LWP 19412)] [New Thread 0x7fffd2e5a6c0 (LWP 19413)] [Detaching after vfork from child process 19414] [New Thread 0x7fffd26596c0 (LWP 19417)] [Detaching after vfork from child process 19418] [Thread 0x7fffd26596c0 (LWP 19417) exited] [Detaching after vfork from child process 19467] [Detaching after vfork from child process 19485] /dev/fd/3: строка 522: 0edward8493]='Edward Bill:::::': команда не найдена /dev/fd/3: строка 522: 0edward8493]='2025-10-02:::::': команда не найдена [Detaching after vfork from child process 19583] setsid /usr/bin/bash -c 'pkexec ubl-settings-usergroups'; exit [New Thread 0x7fffd1c586c0 (LWP 19599)] [Detaching after vfork from child process 19600] [Thread 0x7fffd3a286c0 (LWP 19412) exited] [Thread 0x7fffe0a906c0 (LWP 19389) exited] [Thread 0x7fffe12916c0 (LWP 19388) exited] [Thread 0x7fffe1f9e600 (LWP 19384) exited] [Thread 0x7fffd1c586c0 (LWP 19599) exited] [Thread 0x7fffe1a926c0 (LWP 19387) exited] [Thread 0x7fffd2e5a6c0 (LWP 19413) exited] [New process 19384] [Inferior 1 (process 19384) exited normally] (gdb) Gtk-Message: 10:47:01.149: Failed to load module "colorreload-gtk-module" Gtk-Message: 10:47:01.149: Failed to load module "window-decorations-gtk-module" /dev/fd/3: строка 522: 0edward8493]='Edward Bill:::::': команда не найдена /dev/fd/3: строка 522: 0edward8493]='2025-10-02:::::': команда не найдена ```
rodion.n added the ошибка label 1 month ago
YanTheKaller was assigned by rodion.n 1 month ago
asmeron was assigned by rodion.n 1 month ago
Collaborator

сама причина обнаружения - #280
но сделать тут для интерфейса особо и нечего, если строка неопределённого содержания, то и поведение будет неопределённым. Я у себя перепроверил с теми же добавленными параметрами, утилита не упала

сама причина обнаружения - https://gitea.ublinux.ru/Applications/ubl-settings-usergroups/issues/280 но сделать тут для интерфейса особо и нечего, если строка неопределённого содержания, то и поведение будет неопределённым. Я у себя перепроверил с теми же добавленными параметрами, утилита не упала
Owner

Предлагаю так

  1. Считал параметры USERADD[..]
  2. При парсине проверил на запрещённые символы имя пользователя
Предлагаю так 1. Считал параметры USERADD[..] 2. При парсине проверил на запрещённые символы имя пользователя
Collaborator
https://gitea.ublinux.ru/YanTheKaller/ubl-settings-usergroups/commit/724e3a02076f75c26016deec80525054b11fc3bd ![image](/attachments/2476618f-7016-4620-adba-d7bc8cf0df4c)
199 KiB
elenav commented 4 weeks ago
Collaborator

"Невалидный" - как-то не по русски, мб "некорректный"?

Лучше "Ошибка! Файл конфигурации содержит некорректные параметры!"

"Невалидный" - как-то не по русски, мб "некорректный"? Лучше "Ошибка! Файл конфигурации содержит некорректные параметры!"
Collaborator
https://gitea.ublinux.ru/YanTheKaller/libublsettingsui-gtk3/commit/c9600adf14001a52b3138f4adb6e775c7cbe55f6
Poster
Collaborator

Из файла конфигурации все равно можно грузить некорректные файлы🤔🤔🤔

ubconfig  set ['users'] USERADD['user38219']='Kevin:1001::::' USERADD['user47398729']='Joe:1002::::' USERADD_SYNC['user38219']='boot,shutdown' USERADD_SYNC['user47398729']='boot,shutdown' USERSHADOW['}user38219']='2025-10-07:::::"\' USERSHADOW['}user47398729{']='2025-10-07:::::"\'Added ==> global ==> USERADD[user38219] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini
Added ==> system ==> USERADD[user38219] ==> [/etc/ublinux/users] ==> /etc/ublinux/users
INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD[user38219]' option.
Added ==> global ==> USERADD[user47398729] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini
Added ==> system ==> USERADD[user47398729] ==> [/etc/ublinux/users] ==> /etc/ublinux/users
INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD[user47398729]' option.
Added ==> global ==> USERADD_SYNC[user38219] ==> [/[Thread 0x7fffda5fc6c0 (LWP 22794) exited]
etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini
Added ==> system ==> USERADD_SYNC[user38219] ==> [/etc/ublinux/users] ==> /etc/ublinux/users
INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD_SYNC[user38219]' option.
Added ==> global ==> USERADD_SYNC[user47398729] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini
Added ==> system ==> USERADD_SYNC[user47398729] ==> [/etc/ublinux/users] ==> /etc/ublinux/users
INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD_SYNC[user47398729]' option.
Added ==> global ==> USERSHADOW[}user38219] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini
Added ==> system ==> USERSHADOW[}user38219] ==> [/etc/ublinux/users] ==> /etc/ublinux/users
INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERSHADOW[}user38219]' option.
Added ==> global ==> USERSHADOW[}user47398729{] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini
Added ==> system ==> USERSHADOW[}user47398729{] ==> [/etc/ublinux/users] ==> /etc/ublinux/users
INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERSHADOW[}user47398729{]' option.

Из файла конфигурации все равно можно грузить некорректные файлы🤔🤔🤔 ``` ubconfig set ['users'] USERADD['user38219']='Kevin:1001::::' USERADD['user47398729']='Joe:1002::::' USERADD_SYNC['user38219']='boot,shutdown' USERADD_SYNC['user47398729']='boot,shutdown' USERSHADOW['}user38219']='2025-10-07:::::"\' USERSHADOW['}user47398729{']='2025-10-07:::::"\'Added ==> global ==> USERADD[user38219] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini Added ==> system ==> USERADD[user38219] ==> [/etc/ublinux/users] ==> /etc/ublinux/users INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD[user38219]' option. Added ==> global ==> USERADD[user47398729] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini Added ==> system ==> USERADD[user47398729] ==> [/etc/ublinux/users] ==> /etc/ublinux/users INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD[user47398729]' option. Added ==> global ==> USERADD_SYNC[user38219] ==> [/[Thread 0x7fffda5fc6c0 (LWP 22794) exited] etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini Added ==> system ==> USERADD_SYNC[user38219] ==> [/etc/ublinux/users] ==> /etc/ublinux/users INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD_SYNC[user38219]' option. Added ==> global ==> USERADD_SYNC[user47398729] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini Added ==> system ==> USERADD_SYNC[user47398729] ==> [/etc/ublinux/users] ==> /etc/ublinux/users INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERADD_SYNC[user47398729]' option. Added ==> global ==> USERSHADOW[}user38219] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini Added ==> system ==> USERSHADOW[}user38219] ==> [/etc/ublinux/users] ==> /etc/ublinux/users INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERSHADOW[}user38219]' option. Added ==> global ==> USERSHADOW[}user47398729{] ==> [/etc/ublinux/users] ==> /memory/layer-base/1/ublinux.ini Added ==> system ==> USERSHADOW[}user47398729{] ==> [/etc/ublinux/users] ==> /etc/ublinux/users INFO:Execute the system configuration commands for [/etc/ublinux/users] of the 'USERSHADOW[}user47398729{]' option. ```
Poster
Collaborator
ubconfig  remove ['users'] USERADD['user38219'] USERADD['user47398729'] USERADD_SYNC['user38219'] USERADD_SYNC['user47398729'] USERSHADOW['user38219'] USERSHADOW['user47398729'] -- set ['users'] USERADD_SYNC['']user38219']='boot,shutdown USERADD_SYNC['}user47398729']=boot,shutdown USERSHADOW['}user38219']=2025-10-07:::::' USERSHADOW[''}user47398729{'']='2025-10-07:::::' USERSHADOW['}user38219']='2025-10-07:::::' USERSHADOW['}user47398729{']='2025-10-07:::::'
[Detaching after vfork from child process 20369]
[Detaching after vfork from child process 20419]
[Detaching after vfork from child process 20454]
/dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"»
/dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"»
[Detaching after vfork from child process 20549]
[Detaching after vfork from child process 20580]
[Detaching after vfork from child process 20581]
[Detaching after vfork from child process 20582]
[Detaching after vfork from child process 20583]
/dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"»
/dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"»
[Thread 0x7fffdbfff6c0 (LWP 19676) exited]
[Thread 0x7fffe14726c0 (LWP 19674) exited]
[Thread 0x7fffe1f67600 (LWP 19648) exited]
[Thread 0x7fffe087b6c0 (LWP 19675) exited]
[New process 19648]
[Inferior 1 (process 19648) exited normally]
``` ubconfig remove ['users'] USERADD['user38219'] USERADD['user47398729'] USERADD_SYNC['user38219'] USERADD_SYNC['user47398729'] USERSHADOW['user38219'] USERSHADOW['user47398729'] -- set ['users'] USERADD_SYNC['']user38219']='boot,shutdown USERADD_SYNC['}user47398729']=boot,shutdown USERSHADOW['}user38219']=2025-10-07:::::' USERSHADOW[''}user47398729{'']='2025-10-07:::::' USERSHADOW['}user38219']='2025-10-07:::::' USERSHADOW['}user47398729{']='2025-10-07:::::' [Detaching after vfork from child process 20369] [Detaching after vfork from child process 20419] [Detaching after vfork from child process 20454] /dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"» /dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"» [Detaching after vfork from child process 20549] [Detaching after vfork from child process 20580] [Detaching after vfork from child process 20581] [Detaching after vfork from child process 20582] [Detaching after vfork from child process 20583] /dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"» /dev/fd/3: eval: строка 522: неожиданный конец файла во время поиска «"» [Thread 0x7fffdbfff6c0 (LWP 19676) exited] [Thread 0x7fffe14726c0 (LWP 19674) exited] [Thread 0x7fffe1f67600 (LWP 19648) exited] [Thread 0x7fffe087b6c0 (LWP 19675) exited] [New process 19648] [Inferior 1 (process 19648) exited normally] ```
Collaborator

те признаки сломанного параметра что описывал Дима я добавил в проверку

те признаки сломанного параметра что описывал Дима я добавил в проверку
Poster
Collaborator

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

Ну теперь подобные махинации создать не получается, выходит на первый взгляд проблема решена, но что-то подсказывает если покопаться категорично, по этой теме можно еще обходы найти.
rodion.n closed this issue 2 weeks ago
Owner

@rodion.n основная задача у тебя найти проблемы

@rodion.n основная задача у тебя найти проблемы
Sign in to join this conversation.
No Milestone
No project
4 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: Applications/ubl-settings-usergroups#281
Loading…
There is no content yet.