Ungoogled-chromium: stack smashing on certain webpage

Hi everyone, noob requires help :')
I've also posted about this in the Arch Linux ungoogled-chromium Github repo, so if this isn't an AUR issue or it can't be solved, hopefully someone over there responds. (if it's something super simple, I'm gonna feel so dumb for posting over there lol)

Whenever I visit these pages (they're the same thing): https://auspost.com.au/parcel-send and https://auspost.com.au/just-send-it , I get an 'aw snap!' page with the error code 64000. Visiting the page with chromium opened via terminal shows this message:

*** stack smashing detected ***: terminated

I had a search around for this issue and so far, the only few things I've found were about Debian users who built against clang-13 or something? However, if other ungoogled-chromium users can't reproduce this then maybe that's not quite the issue. In case you're curious, here's the link to the year-old bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004368

This isn't an issue with Librewolf thankfully, but I like to use ungoogled-chromium for this to stick to a certain printer :')

Here's the things I've tried so far in an attempt to resolve this:

  • Clearing cache, browsing history etc through the browser settings (same issue)
  • Opening the page as a new Chrome user (same issue)
  • Opening the page using default Google Chrome (works)
  • Opening the page through a Windows VM on the same machine using Ungoogled Chromium (works)
  • Reinstalling the package after deleting package cache and configs using Stacer and sudo pacman -Rns (same issue)
  • Restarting after reinstalling (same issue)
  • Deleting the chromium folder in ~/.config/ (same issue)

The only thing I haven't tried yet is to open the webpage on a different desktop user. I'll give that a shot in a bit.

Any tips, possible solutions and pointers in the right direction appreciated :slight_smile: the only times I've run into issues like these were as a Windows user, and there wasn't anything a good cache clearing didn't fix.

garuda-inxi

System:
Kernel: 5.15.93-1-lts arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
root=UUID=c9f99daa-f49a-4d9f-a961-e0361c675eed rw rootflags=subvol=@
splash rd.udev.log_priority=3 vt.global_cursor_default=0
resume=UUID=8d72c892-6d9c-4514-b2d6-398dc499ca0c loglevel=3 ibt=off
nvidia_drm.modeset=1
Desktop: KDE Plasma v: 5.26.5 tk: Qt v: 5.15.8 wm: kwin_x11 vt: 2 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: Dell product: XPS 15 9560 v: N/A
serial: <superuser required> Chassis: type: 10 serial: <superuser required>
Mobo: Dell model: 05FFDN v: A00 serial: <superuser required> UEFI: Dell
v: 1.24.0 date: 08/10/2021
Battery:
ID-1: BAT0 charge: 61.2 Wh (74.0%) condition: 82.7/97.0 Wh (85.3%)
volts: 12.0 min: 11.4 model: LGC-LGC8.33 DELL 5XJ28 type: Li-ion
serial: <filter> status: N/A
CPU:
Info: model: Intel Core i7-7700HQ bits: 64 type: MT MCP arch: Kaby Lake
gen: core 7 level: v3 note: check built: 2018 process: Intel 14nm family: 6
model-id: 0x9E (158) stepping: 9 microcode: 0xF0
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 6 MiB desc: 1x6 MiB
Speed (MHz): avg: 3504 high: 3626 min/max: 800/3800 scaling:
driver: intel_pstate governor: powersave cores: 1: 3626 2: 3599 3: 3498
4: 3557 5: 3254 6: 3481 7: 3508 8: 3509 bogomips: 44798
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel HD Graphics 630 vendor: Dell driver: i915 v: kernel
arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: eDP-1
empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:591b
class-ID: 0300
Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: Dell
driver: nvidia v: 525.89.02 alternate: nouveau,nvidia_drm non-free: 525.xx+
status: current (as of 2023-02) arch: Pascal code: GP10x
process: TSMC 16nm built: 2016-21 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:1c8d
class-ID: 0302
Device-3: Sunplus Innovation Integrated_Webcam_HD type: USB
driver: uvcvideo bus-ID: 1-12:7 chip-ID: 1bcf:2b95 class-ID: 0e02
Display: x11 server: X.Org v: 21.1.7 with: Xwayland v: 22.1.8
compositor: kwin_x11 driver: X: loaded: modesetting,nvidia unloaded: nouveau
alternate: fbdev,intel,nv,vesa dri: iris gpu: i915 display-ID: :0
screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 168 s-size: 580x326mm (22.83x12.83")
s-diag: 665mm (26.19")
Monitor-1: eDP-1 model: Sharp 0x1476 built: 2016 res: 3840x2160 hz: 60
dpi: 282 gamma: 1.2 size: 346x194mm (13.62x7.64") diag: 397mm (15.6")
ratio: 16:9 modes: 3840x2160
API: OpenGL v: 4.6 Mesa 22.3.4 renderer: Mesa Intel HD Graphics 630 (KBL
GT2) direct-render: Yes
Audio:
Device-1: Intel CM238 HD Audio vendor: Dell driver: snd_hda_intel v: kernel
bus-ID: 00:1f.3 chip-ID: 8086:a171 class-ID: 0403
Sound API: ALSA v: k5.15.93-1-lts running: yes
Sound Server-1: PulseAudio v: 16.1 running: no
Sound Server-2: PipeWire v: 0.3.65 running: yes
Network:
Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter
vendor: Rivet Networks Killer Wireless-n/a/ac 1535 driver: ath10k_pci
v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0
chip-ID: 168c:003e class-ID: 0280 temp: 38.0 C
IF: wlp2s0 state: up mac: <filter>
IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
Device-1: Qualcomm Atheros QCA61x4 Bluetooth 4.0 type: USB driver: btusb
v: 0.8 bus-ID: 1-4:4 chip-ID: 0cf3:e300 class-ID: e001
Report: bt-adapter note: tool can't run ID: hci0 rfk-id: 1 state: down
bt-service: disabled rfk-block: hardware: no software: yes address: N/A
Drives:
Local Storage: total: 476.94 GiB used: 643.69 GiB (135.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Toshiba
model: KXG50ZNV512G NVMe 512GB size: 476.94 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: AADA4106 temp: 31.9 C scheme: GPT
Partition:
ID-1: / raw-size: 459.61 GiB size: 459.61 GiB (100.00%)
used: 201.73 GiB (43.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 10.5 MiB (3.5%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 459.61 GiB size: 459.61 GiB (100.00%)
used: 201.73 GiB (43.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 459.61 GiB size: 459.61 GiB (100.00%)
used: 201.73 GiB (43.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 459.61 GiB size: 459.61 GiB (100.00%)
used: 201.73 GiB (43.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 15.48 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
ID-2: swap-2 type: partition size: 17.03 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
System Temperatures: cpu: 55.0 C pch: 46.5 C mobo: N/A
Fan Speeds (RPM): cpu: 0 fan-2: 0
Info:
Processes: 256 Uptime: 7m wakeups: 1 Memory: 15.48 GiB
used: 3.84 GiB (24.8%) Init: systemd v: 252 default: graphical
tool: systemctl Compilers: gcc: 12.2.1 alt: 11 clang: 15.0.7 Packages:
pm: pacman pkgs: 1914 libs: 541 tools: octopi,pamac,paru pm: appimage
pkgs: 0 Shell: fish v: 3.6.0 default: Bash v: 5.1.16 running-in: konsole
inxi: 3.3.25
Garuda (2.6.14-1):
System install date:     2023-02-15
Last full system update: 2023-02-15
Is partially upgraded:   No
Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
Windows dual boot:       Probably (Run as root to verify)
Failed units:            dev-binderfs.mount systemd-networkd-wait-online.service systemd-vconsole-setup.service

Hmm, interesting that the system install date is today... it's supposed to be somewhere last year in October - I've never nuked and paved this system o_o
Anyways, I need this website to work in order to send ppl Vegemite and boomerangs around the world. Thx :slight_smile:

1 Like

Maybe :slight_smile: , you post inxi from the new user?

Haha nah, on both users it says the same thing. Maybe installing garuda-system-maintenance-git is the reason behind it? I was curious about the Latte Dock to Plasma Panel discussion so I decided to try that, but as expected since I don't have Latte anymore, nothing happened ¯\_(ツ)_/¯

Unfortunately, I get the same stack smashing error on the other user :tired_face: so rather than a user config-level issue, it seems to be a system config-level issue?

edit: I tried removing /etc/chromium, nothing happened :melting_face:

1 Like

Check out this article:

A lot of that goes over my head, but here is the summary they added at the end:

  • The stack smashing error detected occurs when there is a chance for buffer overflow that can overwrite the return address of the function.
  • The canary is used to check for conditions on which the error is produced.
  • The -no-stack-protector compiler flag can be used to prevent the stack smashing detected error by preventing the inserting of a canary in the stack.
  • Basic understanding of memory allocation is necessary to prevent this in C.
  • Tools such as google address sanitizer and FORTIFY_SOURCE can be used to find the source of buffer overflow and fix the stack smashing detected error.

Those tools they mention can be added to ungoogled-chromium, but they have to be compiled in. I think it seems likely Google Chrome is using the Google tool, AddressSanitizer, and perhaps Windows has some sort of built-in mitigation (I am only guessing on those points).

It seems odd that you are only getting the issue on the one website, but as long as it is reproducible it may be worth opening an issue on the ungoogled-chromium GitHub page: GitHub - ungoogled-software/ungoogled-chromium: Google Chromium, sans integration with Google Perhaps the devs would be interested in adding in one of the available tools to address the issue.

3 Likes

Interesting :open_mouth: thanks for the great read! I won't pretend to understand all of it though :joy:

On the issue I created in the arch Linux ungoogled-chromium GitHub repo, someone asked whether I'd built it or whether it was a binary. I told them it was a binary from the Chaotic-AUR, so there's a chance that they might tell me to ask a builder to compile it in rather than tell a main dev to do it. We'll see though :thinking:
That person was a Gentoo user who couldn't reproduce the bug, most likely because they had stack smashing disabled in their toolchain.

For the Windows version, it must be whatever option necessary to keep users from posting issues on the GitHub page :rofl:

2 Likes

This appears to have been fixed in today's update (110.0.5481.77-1 -> 110.0.5481.100-1) :partying_face:
In case anyone in the future has the same issue, feel free to comment on the GitHub issue here on the Arch Linux version repo: Stack smashing detected on certain webpage · Issue #216 · ungoogled-software/ungoogled-chromium-archlinux · GitHub

3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.