Ruby now garbage collects dynamically generated symbols so this vulnerability isn t an issue in the latest versions of ruby but older versions are common.
Ruby garbage collection force.
Tuning approaches lourens wrote this on feb 20th 2015 9 19 am mri maintainers have put a tremendous amount of work into this is the den a publication crafted by the friendly cubs at bear metal.
These include a generational garbage collector introduced in ruby 2 1 incremental garbage collection in 2 2 and compaction in 2 7.
You can write tons of ruby code and never give a second thought to the fact that under the covers ruby is doing a bang up job of allocating and freeing memory for your code to use.
For instance the following function will cause a memory leak even if ruby is running.
The json gem suffered from this vulnerability before ruby 2 0 0 and mr.
Schneeman has some other examples of this vulnerability in his post about symbol garbage collection in ruby 2 2.
To preserve backward compatibility with old c extensions ruby.
This post focuses on the latest released version of cruby which is 2 7.
Ruby s garbage collection is only concerned with ruby objects.
Generational garbage collection was introduced in ruby 2 1.
Illustration of using write barrier to add object e to the remember set.
The garbage collection has undergone a number of changes since ruby 2 was released in 2013.
Conversely speaking if the memory is allocated without following a certain procedure it won t be taken care of.