Kaprica Security (KPRCA)
A command line visual stack-based performant RPN calculator. Leveraging the old to build the new. Guaranteed to net a mad series A.
Support for variety of useful operations:
+-*/!negabsmod&|^~sumavgdupdupnduprminmaxdepthdropdropnundo (we keep a history!)ivrt (invert stack, super useful!)shuf (shuffle stack, even more useful!)Only signed 32bit integers are currently supported, but our rockst^H^H^H^H^H^Hdevelopers are working on 64bit support and maybe even floats soon!
In the shuf function, random bytes are loaded from the secret page and then predictably scrambled. The resulting scrambled bytes are utilized to shuffle the stack.
In the dupr function, the passed position and length arguments are converted to 16bit unsigned integers and then added to form a slice into the current stack. The values used to form the index are checked, but the invalidation routine is faulty. The resulting indexed values are then pushed onto the stack. This gives an attacker the ability to load values out of memory within a limited distance from Vector in the VC class and push them onto the CalcStack where they will then be printed out.
If the random bytes loaded for the shuffle function are left in memory within a short enough distance from the accesses made in the dupr function, an attacker could leak secret page data out of the problem.
Improper cleansing and leaking of sensitive data.
Curated by Lunge Technology, LLC. Questions or comments? Send us email