Finding eight high-severity vulnerabilities in NodeBB in six hours Aikido's AI Pentest discovered eight high-severity vulnerabilities in NodeBB versions prior to 4.14.0, including cross-site scripting and authorization bypasses, all exploitable on default instances. The vulnerabilities were fixed in early July after Aikido reported them to NodeBB maintainers. TL;DR - NodeBB versions prior to 4.14.0 contain multiple high severity vulnerabilities - Upgrade to newer versions to resolve the vulnerabilities - Aikido will automatically flag vulnerable instances While improving our AI Pentest https://www.aikido.dev/attack/aipentest , we ran a whitebox assessment on NodeBB, a forum software powered by NodeJS. The result? Eight high-severity vulnerabilities that would all be exploitable on default instances of NodeBB. This includes Cross-Site Scripting XSS , two of which require interaction with a custom Federation server that the AI agent had to set up itself. Another affects practically every input on NodeBB due to a template injection. Apart from these issues, there were clever authorization bypasses to hijack and read various data that shouldn't be public. We've explained all of the interesting technical details below. An interesting thing about these autonomous pentests is that they complete their testing in just a few hours. Agents came up with ideas, traced through the code, and rigorously tested with the real application to report real findings. Human-led pentests often take much longer, since they can’t multiply their efforts as easily. After discovering the vulnerabilities, we quickly sent over a report to the maintainers of NodeBB, who were very quick to respond and immediately began working on fixes. The issues were fixed in early July. We’ll get into the technical details of the vulnerabilities, starting with some XSS. Cross-Site Scripting in custom Federation server profile icon This is far from your standard simple Reflected XSS injection, requiring the setup of a whole custom server to respond with a malicious XSS payload. Nonetheless, the agent models we use are great at coding, so they sift through indirection with ease and code up custom servers to test any kind of finding. It all starts with helpers.common.js http://helpers.common.js/ , which contains quite a lot of red flag-waving HTML concatenations. The one we'll focus on is: js function buildMetaTag tag { const name = tag.name ? 'name="' + tag.name + '" ' : ''; const property = tag.property ? 'property="' + tag.property + '" ' : ''; const content = tag.content ? 'content="' + tag.content.replace /\n/g, ' ' + '" ' : ''; return '