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

With patched pcre getting ERROR 1139 (42000): Got error 'nothing to repeat at offset 24' from regexp

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Won't Fix
    • 10.0.20
    • N/A
    • OTHER

    Description

      regarding to CVE-2014-8964: pcre: heap buffer overflow

      BEFORE UPDATE mariadb v16

      MariaDB [(none)]> select 'a' RLIKE '((?=(?(?=(?(?=(?(?=())))*))))){2}';
      +-----------------------------------------------+
      | 'a' RLIKE '((?=(?(?=(?(?=(?(?=())))*))))){2}' |
      +-----------------------------------------------+
      |                                             1 |
      +-----------------------------------------------+
      1 row in set (0.00 sec)
       
      MariaDB [(none)]> SELECT REGEXP_SUBSTR('a','((?=(?(?=(?(?=(?(?=())))*))))){2}');
      +--------------------------------------------------------+
      | REGEXP_SUBSTR('a','((?=(?(?=(?(?=(?(?=())))*))))){2}') |
      +--------------------------------------------------------+
      |                                                        |
      +--------------------------------------------------------+
      1 row in set (0.00 sec)
       
      MariaDB [(none)]> SELECT REGEXP_INSTR('a','((?=(?(?=(?(?=(?(?=())))*))))){2}');
      +-------------------------------------------------------+
      | REGEXP_INSTR('a','((?=(?(?=(?(?=(?(?=())))*))))){2}') |
      +-------------------------------------------------------+
      |                                                     1 |
      +-------------------------------------------------------+
      1 row in set (0.00 sec)

      AFTER UPDATE mariadb v20

      MariaDB [test]> SELECT REGEXP_SUBSTR('a','((?=(?(?=(?(?=(?(?=())))*))))){2}');
      ERROR 1139 (42000): Got error 'nothing to repeat at offset 24' from regexp
      MariaDB [test]> SELECT REGEXP_INSTR('a','((?=(?(?=(?(?=(?(?=())))*))))){2}');
      ERROR 1139 (42000): Got error 'nothing to repeat at offset 24' from regexp
      MariaDB [test]> SELECT 'a' RLIKE '((?=(?(?=(?(?=(?(?=())))*))))){2}';
      ERROR 1139 (42000): Got error 'nothing to repeat at offset 24' from regexp

      This is probably ok, however we would like to be sure.
      Other "normal" regexps are ok as well as regexp from test suite.

      https://bugzilla.suse.com/show_bug.cgi?id=937545

      Attachments

        Activity

          People

            bar Alexander Barkov
            nirbhay_c Nirbhay Choubey (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.