我不确定是否有任何特定于 OpenPGP 的内容,但您描述的问题似乎并不特定于这种情况。
据我所知,导致任意代码执行(例如基于缓冲区溢出)的漏洞可能发生在处理任何类型的可以处理的先验不受信任的数据中。它是否发生在处理格式错误的密钥的代码或任何其他形式的数据中,在这种情况下可能并不重要。
每当您运行一些代码来处理您尚未信任的某些数据(并且以您信任的方式)时,您希望该代码没有错误,至少没有会导致任意代码执行或其他错误的错误安全问题。在这种情况下,安全机制是否稍后使用数据是次要问题。(当然,您还希望必要的签名验证的实现是正确的。这对安全目的很重要。)
例如,任何基于 X.509 的 TLS 堆栈都可能发生相同类型的问题。您希望 TLS 堆栈不允许格式错误的证书让攻击者控制您的系统(同样,任何处理一堆它事先不知道的字节的系统都是如此)。一旦握手成功完成,证书的正确验证和验证将让您信任建立的 TLS 连接非常重要,但这只是次要问题。
我认为与其他类型数据相比的主要区别在于正确实现此类代码的难度。在 PGP 或 X.509 的上下文中使用的存储结构往往依赖于 ASN.1,在许多情况下它可能像泥巴一样清晰。编写处理 ASN.1 的无错误代码并不容易(恕我直言)。
我认为 Thomas 的引用(“ ......你不应该信任密钥服务器...... ”)更多地与你不能信任密钥服务器作为担保它所服务的密钥的实体这一事实有关。这只是一个托管服务,而不是编辑/出版商/作者。