what are the security implications of dumping/loading marshalled objects
over the network if any?
if i marshal a float or an array of floats, am i guaranteed to have the
same exact floating point value upon load, on a different machine? does
this depend on ieee float compliance?
what are the security implications of dumping/loading marshalled objects
over the network if any?
If the connection is not encrypted anybody can sniff the traffic and
probably also reconstruct marshalled objects.
if i marshal a float or an array of floats, am i guaranteed to have the
same exact floating point value upon load, on a different machine? does
this depend on ieee float compliance?
My gut guess would be that there is no dependency on platforms -
otherwise the feature would not make much sense. If nobody gives you
a definitive answer here you can either look at the sources or try it
out for yourself.
If the connection is not encrypted anybody can sniff the traffic and
probably also reconstruct marshalled objects.
thanks for the reply. i was thinking more along the lines of execution
security, as in rm -fr /.
some malicious class could do damage if instantiated through
marshaling, but then it would already have to exist in the running
executable, so at first glance it seems there is no danger, but just
thought
i’d ask anyway.
marshaling, but then it would already have to exist in the running
executable, so at first glance it seems there is no danger, but just
thought
i’d ask anyway.
Any strings that come in from userland (stdin, sockets, pipes, etc.)
are tainted by default. When you set a higher safe level, ruby
restricts what can be done with those tainted strings. Read the link
above – it’s a chapter from the Programming Ruby book (the pick-axe)
– and it goes into much more detail than I could ever hope to type
here.
Blessings,
TwP
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.