Language: JavaScript
Label: vulnerable
CWE: CWE-331 \u2014 Insufficient Entropy
The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.

Code:
    WebCryptography.prototype.decryptString = function (key, ciphertext) {
        return __awaiter(this, void 0, void 0, function () {
            var abCiphertext, abIv, abPayload, abPlaintext;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0:
                        abCiphertext = Buffer.from(ciphertext);
                        abIv = abCiphertext.slice(0, 16);
                        abPayload = abCiphertext.slice(16);
                        return [4 /*yield*/, crypto.subtle.decrypt({ name: 'AES-CBC', iv: abIv }, key, abPayload)];
                    case 1:
                        abPlaintext = _a.sent();
                        return [2 /*return*/, Buffer.from(abPlaintext).toString('utf8')];
                }
            });
        });
    };