È stata rilasciata la versione mruby 3.2, un interprete incorporato per il linguaggio di programmazione orientato agli oggetti dinamico Ruby. Mruby garantisce compatibilità di sintassi a livello Ruby 3.x, con l'eccezione del supporto per il pattern matching («case .. in»). L'interprete si distingue per il basso consumo di memoria ed è progettato per integrare il supporto del linguaggio Ruby in altre applicazioni. L'interprete incorporato può eseguire sia il codice sorgente Ruby che il bytecode generato dal compilatore «mrbc» sviluppato dal progetto. I sorgenti di mruby sono distribuiti sotto licenza MIT.
Nella nuova versione sono state risolte 19 vulnerabilità che potrebbero portare a overflow di buffer, dereferenza di puntatori nulli o accesso alla memoria dopo che è stata liberata durante l'elaborazione di codice Ruby appositamente formattato dall'interprete.
Tra le modifiche non relative alla sicurezza si segnala:
- Supporto per la trasmissione di argomenti anonimi (*, **, &),
- Supporto per numeri interi di grandi dimensioni (mruby-bigint).
- Supporto per il caricamento di file binari compilati con estensione «.mrb».
- Aggiunta dell'opzione «—no-optimize» per disabilitare le ottimizzazioni nel compilatore mrbc.
- Implementazione dei metodi Class#subclasses e Module#undefined_instance_methods in mruby-class-ext.
- Nuove librerie integrate mruby-errno, mruby-set, mruby-dir e mruby-data.
Fonte: opennet.ru
