A Rails App on Puma
Web apps and APIs written in Ruby, from internal tools to large applications such as GitLab.
Open It in the StackIts Layers
This is a Ruby app. Puma runs Rails on Ruby, usually with a small proxy such as Thruster or nginx in front, and the app keeps its data in PostgreSQL.
The stack runs from the top layer down, as on the topic page. Each layer shows its technology, and the badge beside it says who runs and patches it.
Ruby on RailsRun by You
PumaRun by You
LinuxRun by You
PostgreSQLRun by You
Who Runs What
On your own server or a cloud virtual machine, you run every layer shown, from Rails, Puma and Ruby to PostgreSQL and Linux. On a platform such as Heroku, the platform maintains the operating system image and runs the router in front of Puma. Your team still keeps Rails, its gems and Puma up to date.
- You
- Your team runs it and installs its updates.
Where Its Code Comes From
Rails, Puma and the app's other gems, the packages Ruby code is built from, come from RubyGems and are installed by Bundler. The server's own software comes from the Linux distribution's packages, and a build pipeline puts the app together.
Well-Known Flaws in Its Layers
These are well-known flaws in the technologies this stack is built from. Each CVE id links to its advisory, and the technology's own page says how far that flaw reached.
CVE-2013-0156 (opens in a new tab)2013
Rails XML Parameter Code Execution, in Ruby on Rails
Crafted XML request parameters let attackers run code on Rails applications.
CVE-2016-5195 (opens in a new tab)2016
Dirty COW, in Linux
A race condition in the Linux kernel let a local user gain root.