As I expected, the problem wasn't the padding. Here is the working code:
var cipher = CryptoJS.enc.Base64.parse(data.split("--")[0]);
var inv = CryptoJS.enc.Base64.parse(data.split("--")[1]);
var key = CryptoJS.enc.Utf8.parse("GzUaLsk7SI9VDja3");
var aesDecryptor = CryptoJS.algo.AES.createDecryptor(key, { iv: inv });
var decrypted = aesDecryptor.process(cipher);
var plaintext = decrypted.toString(CryptoJS.enc.Utf8);