זוהתה פגיעות (CVE-2025-47934) בספריית OpenPGP.js, המאפשרת לתוקף לשלוח הודעה שעברה שינוי אשר תיתפס על ידי הנמען כמאומתת (הפונקציות openpgp.verify ו-openpgp.decrypt יחזירו אינדיקציה לאימות מוצלח של החתימה הדיגיטלית, למרות העובדה שהתוכן הוחלף ושונה מהנתונים עבורם נוצרה החתימה). הפגיעות תוקנה בגרסאות 5.11.3 ו-6.1.1 של OpenPGP.js. הבעיה משפיעה רק על ענפי OpenPGP.js 5.x ו-6.x, ואינה משפיעה על OpenPGP.js 4.x.
ספריית OpenPGP.js מספקת יישום JavaScript עצמאי של פרוטוקול OpenPGP, המאפשר לך לבצע פעולות הצפנה ולעבוד עם חתימות דיגיטליות מבוססות מפתח ציבורי בדפדפן. הפרויקט מפותח על ידי מפתחי Proton Mail, ובנוסף לארגון הצפנה מקצה לקצה של הודעות ב-Proton Mail, משמש בפרויקטים כמו FlowCrypt, Mymail-Crypt, UDC, Encrypt.to, PGP Anywhere ו-Passbolt.
הפגיעות משפיעה על הליכי האימות עבור חתימות טקסט מוטמעות (openpgp.verify) והודעות חתומות ומוצפנות (penpgp.decrypt). תוקף יכול להשתמש בהודעות חתומות קיימות כדי ליצור הודעות חדשות, שכאשר הן ייפרקו על ידי גרסה פגיעה של OpenPGP.js, יחלצו תוכן חלופי השונה מתוכן ההודעה החתומה המקורית. הפגיעות אינה משפיעה על חתימות המופצות בנפרד מהטקסט (הבעיה מופיעה רק כאשר החתימה משודרת יחד עם הטקסט כבלוק נתונים יחיד).
כדי ליצור הודעה מזויפת, תוקף צריך רק הודעה אחת עם חתימה מוטמעת או נפרדת, וכן ידיעה על הנתונים המקוריים שנחתמו בהודעה זו. תוקף יכול לשנות את ההודעה כך שהגרסה המותאמת של החתימה עדיין תיחשב כנכונה. באופן דומה, ניתן לשנות הודעות מוצפנות עם חתימה כך שכאשר הן נפרקות, הנתונים שנוספו על ידי התוקף יוחזרו.
מקור: OpenNet.ru
