<html><head></head>
  <body><div>Here is a list of useful documentation and references...</div><div><br></div><div>Informative material: <a href="https://en.wikipedia.org/wiki/Spectre_(security_vulnerability">https://en.wikipedia.org/wiki/Spectre_(security_vulnerability</a>)</div><div><br></div><div>Official CVE classification of the vulnerabities:</div><div>- <span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">Speculative Store Bypass (SSB), also known as "Spectre variant 4": </span><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">CVE-2018-3639 and CVE-2021-0089</span></div><div><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">- </span>Indirect Branch Speculation, also known as "Spectre variant 2": <span style="caret-color: rgb(83, 86, 90); color: rgb(83, 86, 90); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">CVE-2017-5715</span></div><div><span style="caret-color: rgb(83, 86, 90); color: rgb(83, 86, 90); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">- </span>Flush L1D Cache (on context switch out of the task): <span style="caret-color: rgb(83, 86, 90); color: rgb(83, 86, 90); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">CVE-2018-3615, </span><span style="caret-color: rgb(83, 86, 90); color: rgb(83, 86, 90); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">CVE-2018-3620, </span><span style="caret-color: rgb(83, 86, 90); color: rgb(83, 86, 90); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px;">CVE-2018-3646</span></div><div><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;"><br></span></div><div><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">Vendor classification of the vulnerabilities (Intel only):</span></div><div><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">- </span><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">Speculative Store Bypass (SSB) also known as "Spectre variant 4": INTEL-SA-00115 (</span><a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00115.html">https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00115.html</a><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">) and INTEL-SA-00516 (</span><a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00516.html">https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00516.html</a><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">)</span></div><div><span style="caret-color: rgb(38, 38, 38); color: rgb(38, 38, 38); font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif;">- Indirect Branch Speculation also known as "Spectre variant 2": INTEL-SA-00088 (</span><a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00088.html">https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00088.html</a> and <a href="https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/branch-target-injection.html">https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/branch-target-injection.html</a>)</div><div>- Flush L1D Cache (on context switch out of the task): INTEL-SA-00161 (<a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00161.html">https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00161.html</a> and <a href="https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/l1-terminal-fault.html">https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/l1-terminal-fault.html</a>)</div><div><br></div><div>Table of affected processors (Intel only): <a href="https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html">https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html</a></div><div><br></div><div>Vendor classification of the vulnerabilities (AMD): search <a href="https://www.amd.com/en/resources/product-security.html">https://www.amd.com/en/resources/product-security.html</a></div><div><br></div><div>Vendor classification of the vulnerabilities (ARM) with table of affected processors: <a href="https://developer.arm.com/documentation/110280/latest/">https://developer.arm.com/documentation/110280/latest/</a></div><div><br></div><div>Additional notes:</div><div>- Flush L1D Cache should be disabled by default, although I cannot verify this for all CPU / microcode variants</div><div>- booting with the kernel parameter "mitigation=auto" does not necessarily disable all the vulnerabilities !</div><div>- in order to fully disable the above mentioned vulnerabilities at boot-time, the following kernel parameters should be used: spec_store_bypass_disable=on spectre_v2=on spectre_v2_user=on</div><div>- the proposed patch does not fully disable the above mentioned vulnerabilities, instead it aims to disable them only for selected patched software (gnupg, libgcrypt and eventually gnutls): this allows to keep execution speed optimizations for software not dealing with security-sensitive data such as cryptographic software</div><div><br></div><div>The above information is based on research that I carried out, I hope it helps, although the information provided is not meant to be exhaustive. You are invited to carry out independent additional research if needed...</div><div><br></div><div>Regards,</div><div><br></div><div>Guido</div><div><br></div><div>On Tue, 27/05/2025 at 07.24 +0200, Falko Strenzke wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>Hi Guido,</div><div>is it possible to provide references to publications for the problem that you aim to solve? </div><div>Best regards,</div><div>Falko</div><div>Am 26.05.25 um 19:11 schrieb Guido Trentalancia via Gcrypt-devel:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>The vulnerabilities being tackled by the patch proposed here are</div><div>hardware vulnerabilities that exist in the CPU.</div><div><br></div><div>They were introduced with branch-prediction and other speculative-</div><div>execution CPU optimizations.</div><div><br></div><div>Because, once exploited, they materialize in Information Disclosure</div><div>(data leaks), cryptographic software is the most affected class of</div><div>software, because cryptographic keys or encrypted data can be leaked.</div><div><br></div><div>Unfortunately not all of such hardware vulnerabilities can be tackled</div><div>by a CPU microcode update, some of them need to be tackled in software:</div><div>this is what this patch aims to do (software-based mitigation of</div><div>hardware vulnerabilities).</div><div><br></div><div>An equivalent patch has been already proposed for the gnupg application</div><div>and another one might be proposed for the gnutls library.</div><div><br></div><div>In fact, only tackling libgcrypt is not enough, because cryptographic</div><div>applications such as gnupg also handle the cryptographic keys (e.g.</div><div>passphrases) and the sensitive data to be encrypted: these are then</div><div>passed to the libgcrypt cryptographic functions for actual encryption</div><div>and decryption.</div><div><br></div><div>The "pros" of this patch are that it avoids the risk of leaking</div><div>cryptographic keys or decrypted data on CPUs that are affected by those</div><div>vulnerabilities.</div><div><br></div><div>The "cons" of this patch are decreased execution speed: this is not</div><div>normally noticeable to the user.</div><div><br></div><div>I hope this helps.</div><div><br></div><div>On Mon, 26/05/2025 at 16.53 +0200, Werner Koch wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>On Sun, 25 May 2025 17:25, Guido Trentalancia said:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>Disable CPU speculation-related misfeatures which are in</div><div>fact vulnerabilities causing data leaks:</div></blockquote><div><br></div><div>Please see my comments on gnupg-devel.</div><div><br></div><div><br></div><div>Shalom-Salam,</div><div><br></div><div>   Werner</div><div><br></div></blockquote><div><br></div><div>_______________________________________________</div><div>Gcrypt-devel mailing list</div><div><a href="mailto:Gcrypt-devel@gnupg.org">Gcrypt-devel@gnupg.org</a></div><div><a href="https://lists.gnupg.org/mailman/listinfo/gcrypt-devel">https://lists.gnupg.org/mailman/listinfo/gcrypt-devel</a></div></blockquote><div><br></div><div>-- </div><div>MTG AG</div><div>Dr. Falko Strenzke </div><div>Phone: +49 6151 8000 24</div><div>E-Mail: <a href="mailto:falko.strenzke@mtg.de">falko.strenzke@mtg.de</a></div><div>Web: mtg.de</div><div>MTG AG - Dolivostr. 11 - 64293 Darmstadt, Germany</div><div>Commercial register: HRB 8901</div><div>Register Court: Amtsgericht Darmstadt</div><div>Management Board: Jürgen Ruf (CEO), Tamer Kemeröz</div><div>Chairman of the Supervisory Board: Dr. Thomas Milde</div><div><br></div><div>This email may contain confidential and/or privileged information. If you are not the correct recipient or have received this email in error, </div><div>please inform the sender immediately and delete this email.Unauthorised copying or distribution of this email is not permitted.</div><div><br></div><div>Data protection information: Privacy policy</div></blockquote></body></html>