Die Veröffentlichung von mruby 3.2, einem eingebetteten Interpreter der dynamischen objektorientierten Programmiersprache Ruby, wurde vorgestellt. Mruby bietet eine grundlegende SyntaxkompatibilitĂ€t auf dem Niveau von Ruby 3.x, mit Ausnahme der UnterstĂŒtzung fĂŒr Mustervergleiche (âcase .. inâ). Der Interpreter zeichnet sich durch einen geringen Speicherverbrauch aus und ist darauf ausgelegt, die UnterstĂŒtzung der Ruby-Sprache in andere Anwendungen einzubauen. Der in die Anwendung integrierte Interpreter kann sowohl Ruby-Quellcode als auch Bytecode ausfĂŒhren, der mit dem entwickelten Compiler âmrbcâ erzeugt wurde. Die Quelltexte von mruby werden unter der MIT-Lizenz verteilt.
In der neuen Version wurden 19 SicherheitsanfĂ€lligkeiten behoben, die zu BufferĂŒberlĂ€ufen, Dereferenzierung von Nullzeigern oder zum Zugriff auf freigegebene Speicherressourcen beim Verarbeiten von speziell gestalteten Ruby-Code fĂŒhren können.
Zu den nicht sicherheitsrelevanten Ănderungen zĂ€hlen:
- UnterstĂŒtzung der Weitergabe von anonymen Argumenten (*, **, &),
- UnterstĂŒtzung groĂer Ganzzahlen (mruby-bigint).
- UnterstĂŒtzung fĂŒr das Laden kompilierten BinĂ€rdateien mit der Erweiterung â.mrbâ.
- HinzufĂŒgung der Option ââno-optimizeâ, um Optimierungen im Compiler mrbc zu deaktivieren.
- Implementierung der Methoden Class#subclasses und Module#undefined_instance_methods in mruby-class-ext.
- Neue eingebettete Bibliotheken mruby-errno, mruby-set, mruby-dir und mruby-data.
Quelle: opennet.ru
