The vulnerability exists in the CssInliner class of the Email Extension Plugin. The process method of this class is used to inline CSS styles and, in vulnerable versions, also to inline images. The image inlining is handled by the inlineImages method.
The inlineImages method iterates over <img> tags that have a data-inline="true" attribute. For each such image, it takes the value of the src attribute and creates a java.net.URL object. The code then opens a connection to this URL, reads the content, and base64-encodes it into a data: URI.
The vulnerability lies in the fact that java.net.URL can handle file: URLs. An attacker can craft an email with an <img> tag like <img src="file:///etc/passwd" data-inline="true">. When the CssInliner processes this, the inlineImages method will read the content of the /etc/passwd file from the Jenkins controller's filesystem and embed it in the email.
The patch for this vulnerability completely removes the inlineImages method and the call to it from the process method, effectively disabling the image inlining feature.
The vulnerable functions that would appear in a runtime profile are hudson.plugins.emailext.plugins.CssInliner.process and hudson.plugins.emailext.plugins.CssInliner.inlineImages. The process method is the public entry point that receives the malicious HTML content, and inlineImages is the private method that contains the vulnerable file-reading logic.