Software-update: MariaDB 10.5.8 / 10.4.17 / 10.3.27 / 10.2.36

MariaDB is ontstaan als fork van MySQL, nadat dit in 2009-2010 door Oracle werd overgenomen. Voor een overzicht van de verschillen tussen MariaDB en MySQL kun je op deze en deze pagina's terecht. MariaDB is een krachtige opensourcedatabaseserver, die vooral populair is als website- en forumdatabase. De ontwikkelaars hebben versies 10.5.8, 10.4.17, 10.3.27 en 10.2.36 uitgebracht. De eerste stable uit de 10.5-tak stamt uit juni 2020, de eerste stable uit de 10.4.x-tak is van juni 2019, de eerste stable uit de 10.3.x-tak is van mei 2018 en de eerste stable uit de 10.2.x-tak is van mei 2017. Alle vier hebben voor vijf jaar ondersteuning meegekregen. De beknopte aankondiging van deze uitgaves zien er als volgt uit:

Emergency Release of MariaDB 10.5.8, 10.4.17, 10.3.27, and 10.2.36 is now available

The MariaDB Foundation is pleased to announce the availability of MariaDB 10.5.8, MariaDB 10.4.17, MariaDB 10.3.27, and MariaDB 10.2.36, the latest stable releases in their respective series.

Why do we release MariaDB again only a week after the 10.5.7, 10.4.16, etc? What’s the emergency?

The previous, scheduled, set of releases (10.2 and up) included a security related change — MariaDB server became more strict about accepting network packets from the client. It never was particularly trusting, but still there was a loophole in the handling of prepared statements where the server just assumed that the client sends the correct data. Not anymore, since early November the server strictly validates all incoming packets and rejects invalid ones. This made the server more secure against malicious clients intentionally sending specially crafted invalid packets.

Alas, it turned out that some popular connectors routinely send invalid packets violating protocol specifications. Among those connectors are old versions of the mysqlnd in PHP (fixed in PHP 7.3) and all versions of mysql-connector-python and mysql-connector-j. Luckily, mysql-connector-c implements the protocol correctly according to the specifications.

But regardless of where the bug is, from the user point of view it’s MariaDB upgrade that broke their applications. And they cannot always move to PHP 7.3 or wait for Oracle to fix connectors.

To help them we released today an emergency bug fix that partially relaxes packet validation and allows garbage at the end of the packet that these connectors send. It does not make the server less secure as long as the server is not trying to use this garbage. Note that 10.1.48 was not affected, and did not have to be re-released.

And we now test third-party connectors in our buildbot to make sure MariaDB protocol changes will not break them again the future.

Additionally we have used the chance to release fixes for bugs in InnoDB handling of indexed virtual columns and optimizations of long IN lists.
Versienummer 10.5.8 / 10.4.17 / 10.3.27
Releasestatus Final
Besturingssystemen Windows 7, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
Website MariaDB
Download https://downloads.mariadb.org/mariadb/
Licentietype Voorwaarden (GNU/BSD/etc.)

Reacties (8)

8
8
1
1
0
7
Wijzig sortering
Er was meer aan de hand dan enkel een protocol probleem: https://mariadb.com/kb/en/mariadb-1058-release-notes/
Dus eigenlijk was de vorige versie "te goed", waardoor gebroken drivers niet meer werkten.
Tja, waarom maken ze daar dan geen configureerbare optie van, zodat mensen die meer veiligheid willen dit wel kunnen blijven gebruiken :)
Doet MariaDB zich nog steeds voor alsof het MySQL is als je deze installeert? Dus executables als /usr/bin/mysql, /usr/bin/mysqladmin, /sbin/mysqld etc.?
Ja

Edit: Al beantwoord

[Reactie gewijzigd door duderuud op 24 juli 2024 21:40]

Ja. En dat is denk ik ook wel een goed idee: tenslotte wordt MariaDB vaak als vervanger van MySQL gebruikt, en als de binaries dan niet overeenkomen dan gaan er op een hoop plaatsen dingen stuk.

Maar tegenwoordig heten de binaries "mariadb", "mariadbd", "mariadbd-safe", etc, en zijn de "mysql" equivalenten een symlink naar de "mariadb" binaries.
Met die achtergrond zou het handig zijn om daar bij installatie in te kunnen sturen:
- mariadb installatie: alleen gebruik maken van 'mariadb' naam en geen verwijzingen naar mysql
- mixed installatie: installatie als mariadb en (soft) links om mysql namen en paden te honoreren.
- puur mysql installatie: volledige vulling van de mysql name-space met hard-links of zelfs zonder de mariadb name-space.

Tegenwoordig zou ik de eerste als default verwachten bij nieuwe installaties maar blijkbaar is het (nog steeds) de tweede.
Toch een heftige regressie als websites draaiend op PHP < 7.3 en mysql-connector-java stuk gaan. Zie https://jira.mariadb.org/browse/MDEV-24121 voor wat achtergrondinformatie.
Ze hebben ervan geleerd door de connectors nu te testen.
Waarom zou je niet upgraden naar de nieuwste versie (10.5.8) als je nog op 10.4.x zit bijvoorbeeld? Als je dan toch een upgrade doet, ga dan ineens naar de nieuwste versie? Je zal toch ooit moeten overschakelen... :)

Op dit item kan niet meer gereageerd worden.