Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-32161

如果将mariadb的存储引擎设置为Mroonga,并且将配置项mroonga_dry_write值设置为off,执行以下sql语句会导致服务器的crash

    XMLWordPrintable

Details

    Description

      如果将mariadb的存储引擎设置为Mroonga,并且将配置项mroonga_dry_write值设置为off,执行update语句会导致服务器的crash,如果设置为on,则不会导致服务器crash。如果将存储引擎设置为别的(比如InnoDB,MyIsam等),也不会crash,所以应该是存储引擎mroonga存在逻辑漏洞。当mroonga_dry_write值为on时,数据不会实际写入mroonga数据库,为off时,数据会写入mroonga数据库.
      reproduce sql:
      Set mroonga_dry_write = off;
      CREATE TABLE t (pk INT AUTO_INCREMENT, a INT, b INT, PRIMARY KEY (pk), KEY (a)) ENGINE=Mroonga;
      INSERT INTO t (a, b) VALUES (0,1),(2,2);
      CREATE TRIGGER tr AFTER UPDATE ON t FOR EACH ROW SET @a= 1;
      UPDATE t SET b = 3 WHERE a = 0;

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jie li
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.