⬢ DragonFlyBSD Kernel Audit
DF-3562 / run.log
← back to finding ↓ download raw
===== serpent: KATs + independent-reference cross-match =====
== Part A: Linux testmgr KATs ==
== Part B: Botan/submission corpus ==
169 corpus vectors (enc+dec each)
== Part C: random round-trips + iterated ==
kbits=128: 2000 round-trips + iterated-1000x
kbits=192: 2000 round-trips + iterated-1000x
kbits=256: 2000 round-trips + iterated-1000x
== RESULT: 6349 checks, 0 fails ==
===== serpent: keylen OOB demonstration (finding DF-3562) =====
== Case A: key_len=-64 -> u32-wrapped lk=0xFFFFFFFF -> runaway l_key[] fill loop ==
child: died of signal 11 si_code=2 si_addr=0x7fffffdfe000
key_len=-64                  child killed (OOB confirmed)
== Case B: key_len=-32 -> i=(u32)-1 -> access at l_key[0xFFFFFFFF] (+16GiB) ==
child: died of signal 10 si_code=3 si_addr=0x0
key_len=-32                  child killed (OOB confirmed)
== Case C: key_len=129 -> 3-byte OOB read past key buffer (guard page) ==
child: died of signal 11 si_code=2 si_addr=0x800477000
key_len=129/guard            child SIGSEGV (OOB read confirmed)
== RESULT: 3/3 fault demonstrations ==
===== twofish: official + LibTom KATs, iterated, round-trips =====
== published KATs + iterated ==
vec0 enc PASS 9f589f5cf6122c32b6bfec2f2ae8c35a
vec0 dec PASS
vec0 iterated-1000x PASS
vec1 enc PASS cfd1d2e5a9be9cdf501f13b892bd2248
vec1 dec PASS
vec1 iterated-1000x PASS
vec2 enc PASS 37527be0052334b89f0cfccae87cfa20
vec2 dec PASS
vec2 iterated-1000x PASS
vec3 enc PASS 019f9809de1711858faac3a3ba20fbc3
vec3 dec PASS
vec3 iterated-1000x PASS
vec4 enc PASS 182b02d81497ea45f9daacdc29193a65
vec4 dec PASS
vec4 iterated-1000x PASS
vec5 enc PASS 6cb4561c40bf0a9705931cb6d408e7fa
vec5 dec PASS
vec5 iterated-1000x PASS
== random round-trips ==
klen=16: 5000 random round-trips OK-ish
klen=24: 5000 random round-trips OK-ish
klen=32: 5000 random round-trips OK-ish
== RESULT: 15018 checks, 0 fails ==
===== rijndael-api-fst: FIPS197 + RFC3602 + pad + CFB1 + DF-0968 record =====
== A: FIPS-197 ECB via api-fst ==
FIPS197 AES-128                    PASS
  (decrypt back)                   PASS
FIPS197 AES-192                    PASS
  (decrypt back)                   PASS
FIPS197 AES-256                    PASS
  (decrypt back)                   PASS
== B: RFC 3602 CBC via api-fst ==
RFC3602 case#1 enc                 PASS
RFC3602 case#1 dec                 PASS
RFC3602 case#2 enc                 PASS
RFC3602 case#2 dec                 PASS
RFC3602 case#3 enc                 PASS
RFC3602 case#3 dec                 PASS
RFC3602 case#4 enc                 PASS
RFC3602 case#4 dec                 PASS
== C: padEncrypt/padDecrypt round-trips ==
   (ECB with n%16==0: padDecrypt returns BAD_DATA/-8 = the
    KNOWN DF-0969 asymmetry, confirmed live; counted below
    as k99conf, not as failures)
mode=ECB: 96 pad round-trips
mode=CBC: 96 pad round-trips
   DF-0969 confirmed on 6/6 ECB exact-multiple inputs
== D: CFB1 single-block round-trip ==
CFB1 1-block roundtrip (in place)  PASS
== E1: DF-0968 record (CBC numBlocks==0 OOB) ==
   ret=0 canary=0xa63c98f8 (was 0xc0ffee11)
DF-0968 CBC numBlocks==0 wrote 16B, ret 0 PASS
== RESULT: 208 checks, 0 fails ==
===== chachapoly: RFC8439 + xchacha + boundaries + mbuf API =====
== A: RFC 8439 s2.8.2 ==
RFC8439 2.8.2 enc ct                           PASS
RFC8439 2.8.2 enc tag                          PASS
RFC8439 2.8.2 dec                              PASS
RFC8439 2.8.2 tampered ct rejected             PASS
RFC8439 2.8.2 tampered tag rejected            PASS
RFC8439 2.8.2 tampered aad rejected            PASS
== B: RFC 8439 A.5 ==
RFC8439 A.5 dec tag verifies                   PASS
RFC8439 A.5 re-enc reproduces ct||tag          PASS
RFC8439 A.5 tampered ct rejected               PASS
RFC8439 A.5 tampered tag rejected              PASS
== C: xchacha draft A.1 ==
xchacha-draft A.1 enc ct                       PASS
xchacha-draft A.1 enc tag                      PASS
xchacha-draft A.1 dec                          PASS
xchacha tampered tag rejected                  PASS
== D: boundary round-trips ==
boundary round-trips (22 lens x 4 adlens x 3 modes) PASS
empty pt enc->dec (dst NULL)                   PASS
== E: mbuf API ==
mbuf enc/dec across 9 lens x 6 fragsets        PASS
mb mid-chain ct corruption -> EBADMSG          PASS
mb 8-byte packet -> EBADMSG                    PASS
mb tag-only packet rejected (bad tag)          PASS
== RESULT: 22 checks, 0 fails ==
AGGREGATE_RC=0