Bug 2182135 - CVE-2022-37967: MS-PAC extended KDC signature [f37]
Summary: CVE-2022-37967: MS-PAC extended KDC signature [f37]
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: krb5
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Julien Rische
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2165827 2169477
Blocks: 2166001 2182671
TreeView+ depends on / blocked
 
Reported: 2023-03-27 16:12 UTC by Julien Rische
Modified: 2023-07-19 15:01 UTC (History)
10 users (show)

Fixed In Version:
Clone Of: 2169477
Environment:
Last Closed: 2023-07-19 15:01:31 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Fedora Package Sources krb5 pull-request 39 0 None None None 2023-06-30 10:48:41 UTC
Red Hat Issue Tracker FREEIPA-9608 0 None None None 2023-03-27 16:16:52 UTC

Description Julien Rische 2023-03-27 16:12:14 UTC
+++ This bug was initially created as a clone of Bug #2169477 +++

A paper by Tom Tervoort[1] noted that computing the PAC privsvr checksum over only the server checksum is vulnerable to collision attacks. In response, Microsoft has added a second KDC checksum over the full contents of the PAC[2].

This change will be required for PAC signatures to be accepted by AD from the 2023-07-11[3].

[1] https://i.blackhat.com/EU-22/Thursday-Briefings/EU-22-Tervoort-Breaking-Kerberos-RC4-Cipher-and-Spoofing-Windows-PACs-wp.pdf
[2] https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-PAC/%5bMS-PAC%5d-20221212-diff.pdf
[3] https://support.microsoft.com/en-us/topic/kb5020805-how-to-manage-kerberos-protocol-changes-related-to-cve-2022-37967-997e9acc-67c5-48e1-8d0d-190269bf4efb

Comment 1 Julien Rische 2023-06-30 10:48:41 UTC
Pull request:
https://src.fedoraproject.org/rpms/krb5/pull-request/39

Comment 2 Julien Rische 2023-07-03 08:07:38 UTC
The current backport fails to pass the following upstream test:

PYTHONPATH=../util VALGRIND="" python3 ./t_authdata.py 
*** Failure: expected authdata not seen for basic request
*** Last mark: baseline authdata
*** Last command (#9): ./adata host/buildvm-a64-19.iad2.fedoraproject.org
*** Output of last command:
^-42: Hello, KDC issued acceptor world!
?512: 301EA003020112A1173015A003020110A10E040CACDC98594C36DEF590A3A1D5
For details, see: /builddir/build/BUILD/krb5-1.19.2/src/tests/testlog
Or re-run this test script with the -v flag:
    cd /builddir/build/BUILD/krb5-1.19.2/src/tests
    PYTHONPATH=/builddir/build/BUILD/krb5-1.19.2/src/util /usr/bin/python3 ./t_authdata.py -v
Use --debug=NUM to run a command under a debugger.  Use
--stop-after=NUM to stop after a daemon is started in order to
attach to it with a debugger.  Use --help to see other
options.

Comment 3 Julien Rische 2023-07-19 15:01:31 UTC
Not supporting the new PAC extended KDC signature would only affect cross-realm resource-based constrained delegation requests between FreeIPA and Active Directory. But this type of requests are not supported by FreeIPA at this point anyway. Hence, backporting this feature to Fedora 37 will not have any benefit.


Note You need to log in before you can comment on or make changes to this bug.