Project

General

Profile

Actions

Bug #3098

closed

SIGSEGV in early SSL_read() API call (misconfigured lighttpd.conf)

Added by ThomasDevoogdt over 2 years ago. Updated over 2 years ago.

Status:
Duplicate
Priority:
Normal
Category:
core
Target version:
ASK QUESTIONS IN Forums:
No

Description

Lighttpd crashes if an API call is performed relatively fast after a reboot.
If I do the same API calls a bit later, then I don't see those crashes.
I can't tell you the exact reproduction steps, but I discovered them while doing reboot tests.

This is a regression that I saw while rebasing Buildroot from 2020.02.7 to 2021.02.4.

lighttpd 1.4.55 --> 1.4.58

Used SSL libs:
libressl 3.2.5 --> 3.2.5 (same version)
libopenssl 1.1.1g --> 1.1.1k

Strace output:

accept4(5<socket:[5859]>, {sa_family=AF_INET, sin_port=htons(56950), sin_addr=inet_addr("<ip>")}, [112->16], SOCK_CLOEXEC|SOCK_NONBLOCK) = 8<socket:[11907]>
gettimeofday({tv_sec=1630501034, tv_usec=205162}, NULL) = 0
read(8<socket:[11907]>, "<data>", 5) = 5
read(8<socket:[11907]>, "<data>"..., 183) = 183
gettimeofday({tv_sec=1630501034, tv_usec=206804}, NULL) = 0
write(8<socket:[11907]>, "<data>"..., 1277) = 1277
read(8<socket:[11907]>, 0xc76bb, 5)     = -1 EAGAIN (Resource temporarily unavailable)
epoll_ctl(7<anon_inode:[eventpoll]>, EPOLL_CTL_ADD, 8<socket:[11907]>, {EPOLLIN|EPOLLERR|EPOLLHUP|EPOLLRDHUP, {u32=729704, u64=850296151155304}}) = 0
accept4(5<socket:[5859]>, 0xbed53bd8, [112], SOCK_CLOEXEC|SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({tv_sec=1630501034, tv_usec=344363}, NULL) = 0
epoll_wait(7<anon_inode:[eventpoll]>, [{EPOLLIN, {u32=729704, u64=850296151155304}}], 1025, 1000) = 1
read(8<socket:[11907]>, "<data>", 5) = 5
read(8<socket:[11907]>, "<data>"..., 102) = 102
read(8<socket:[11907]>, "<data>", 5) = 5
read(8<socket:[11907]>, "<data>", 1)        = 1
read(8<socket:[11907]>, "<data>", 5) = 5
read(8<socket:[11907]>, "<data>"..., 40) = 40
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x10} ---
+++ killed by SIGSEGV +++
mna-240-2530066145 # client_loop: send disconnect: Broken pipe

Adding some logs learned me that it goes wrong in an SSL_read call:
https://git.lighttpd.net/lighttpd/lighttpd1.4/src/tag/lighttpd-1.4.58/src/mod_openssl.c#L2950

Let me know where I can help.


Related issues 1 (0 open1 closed)

Is duplicate of Bug #3099: SIGSEGV in early SSL_read() API call (misconfigured lighttpd.conf)InvalidActions
Actions #1

Updated by gstrauss over 2 years ago

  • Is duplicate of Bug #3099: SIGSEGV in early SSL_read() API call (misconfigured lighttpd.conf) added
Actions #2

Updated by gstrauss over 2 years ago

  • Subject changed from SIGSEGV in early API call to SIGSEGV in early SSL_read() API call
  • Status changed from New to Duplicate

Duplicates #3099

Actions #3

Updated by gstrauss over 2 years ago

  • Subject changed from SIGSEGV in early SSL_read() API call to SIGSEGV in early SSL_read() API call (misconfigured lighttpd.conf)
Actions

Also available in: Atom