The vulnerability exists in the jervis library because it uses RSA with PKCS#1 v1.5 padding (PKCS1Encoding), which is known to be susceptible to padding oracle attacks (Bleichenbacher's attack). The core of the vulnerability lies in the net.gleske.jervis.tools.SecurityIO.rsaEncryptBytes and net.gleske.jervis.tools.SecurityIO.rsaDecryptBytes functions, which directly implement the insecure RSA operations.
The patch addresses this by introducing new methods (rsaEncryptBytesOaep, rsaDecryptBytesOaep) that use the more secure OAEP padding and deprecating the old, vulnerable functions. The CipherMap class, which manages encrypted data, was also updated to use these new OAEP-based methods for encrypting and decrypting the underlying AES keys.
An attacker who can submit crafted ciphertexts to an application using the vulnerable rsaDecryptBytes function and observe differences in error messages or timing could progressively decrypt sensitive information, such as the AES keys used for data encryption within CipherMap. This would compromise the confidentiality of all data encrypted by the CipherMap instance.