MuPDF 1.26.4 EPUBレンダリング関数におけるヌルポインタ間接参照
CVE参照 - CVE-2025-55780
影響を受けるバージョン : 1.26.7 およびそれ以前
発見およびテスト環境 : 1.26.4
深刻度 CVSSv3 スコア : 7.5 (High)
Bugzilla : https://bugs.ghostscript.com/show_bug.cgi?id=708720
クラッシュ位置 :-
(1a44.55c0): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
mupdf!break_word_for_overflow_wrap+0x243:
00007ff7`6dbf2a23 8b00 mov eax,dword ptr [rax] ds:00000000`00000000=????????
修正 :- HTMLレイアウトにおけるNULL逆参照を修正しました。
利用可能な幅に収まらないほど大きい単一のフローノードがあり、「overflow-wrap:break-word」CSSスタイルを使用している場合、そのフローノードをより小さな断片に分割して適切に折り返せるようにします。
これは、フローノードのテキストを走査してクラスターに分割することで行われます。シェーピングの問題を避けるため、文字レベルではなくクラスターレベルで分割します。
右から左へのテキストの場合、クラスターは期待とは逆の順序で現れ、既存のロジックが誤動作します。
その結果、分割コードが実際に何も分割せず、node->nextがNULLになり、NULLを逆参照しようとする可能性があります。
修正は、右から左のテキストに対しては異なる方法で分割することです。
この調査中に、harfbuzzの呼び出し方法がクラスターを期待どおりにグループ化していないという追加の問題が見つかりました。そのため、ここでのコードを拡張し、「string_walker」が「character」クラスターモードではなく「grapheme」クラスターモードでharfbuzzを呼び出せるようにしました。
それを使用して、文字列の返された断片を走査し、必要なスペースに対して正しい位置でコードを分割するようにコードを更新し、l2rとr2lの両方のテキストに正しく対応するよう注意を払っています。
https://nvd.nist.gov/vuln/detail/CVE-2025-55780
https://www.tenable.com/cve/CVE-2025-55780
https://ubuntu.com/security/CVE-2025-55780
https://cvefeed.io/vuln/detail/CVE-2025-55780
https://osv.dev/vulnerability/UBUNTU-CVE-2025-55780
https://cve.akaoma.com/cve-2025-55780
https://vulners.com/cve/CVE-2025-55780
https://bugzilla.redhat.com/show_bug.cgi?id=2397702
https://github.com/advisories/GHSA-756h-grq9-2jvh
https://www.tenable.com/plugins/nessus/266050
https://security-tracker.debian.org/tracker/CVE-2025-55780
https://access.redhat.com/security/cve/cve-2025-55780
https://www.wiz.io/vulnerability-database/cve/cve-2025-55780
https://security.snyk.io/vuln/SNYK-UNMANAGED-MUPDF-13058631
https://feedly.com/cve/CVE-2025-55780
https://vulners.com/cve/CVE-2025-55780
https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-55780&sortby=bydate