id: pwpolicy_alpha_numeric_enforce
title: Require Passwords Contain a Minimum of One Numeric Character
discussion: |
  The macOS _MUST_ be configured to require at least one numeric character be used when a password is created.

  This rule enforces password complexity by requiring users to set passwords that are less vulnerable to malicious users.

  NOTE: To comply with Executive Order 14028, "Improving the Nation's Cybersecurity", OMB M-22-09, "Moving the U.S. Government Toward Zero Trust Cybersecurity Principles", and NIST SP-800-63b, "Digital Identity Guidelines: Authentication and Lifecycle Management" federal, military, and intelligence communities must adopt the following configuration settings. Password policies must not require the use of complexity policies such as upper characters, lower characters, or special characters. Password policies must also not require the use of regular rotation. Password policies should define a minimum length. Multifactor authentication should be used where ever possible.
references:
  nist:
    cce:
      macos_27:
        - CCE-XXXXX-X
      macos_26:
        - CCE-95339-8
      macos_15:
        - CCE-94333-2
      macos_14:
        - CCE-92929-9
      ios_27:
        - CCE-XXXXX-X
      ios_26:
        - CCE-95547-6
      ios_18:
        - CCE-94564-2
      ios_17:
        - CCE-93510-6
    800-53r5:
      - IA-5(1)
    800-171r3:
      - 03.05.07
  disa:
    cci:
      - CCI-000194
      - CCI-004066
    srg:
      - SRG-OS-000071-GPOS-00039
      - SRG-OS-000775-GPOS-00230
    disa_stig:
      macos_26:
        - APPL-26-003007
      macos_15:
        - APPL-15-003007
      macos_14:
        - APPL-14-003007
    cmmc:
      - IA.L2-3.5.7
      - IA.L2-3.5.8
      - IA.L2-3.5.9
  hhs:
    hicp:
      - 2.L.A
      - 3.L.C
  cis:
    benchmark:
      macos_26:
        - 5.2.3 (level 2)
        - 5.2.4 (level 2)
      macos_15:
        - 5.2.3 (level 2)
        - 5.2.4 (level 2)
      macos_14:
        - 5.2.3 (level 2)
        - 5.2.4 (level 2)
    controls_v8:
      - 5.2
  bsi:
    indigo:
      ios_26:
        - ANNEX D (Section 5.9.1 - Device-Code)
        - ANNEX K
      ios_18:
        - ANNEX D (Section 5.9.1 - Device-Code)
        - ANNEX K
      ios_17:
        - ANNEX D (Section 5.9.1 - Device-Code)
        - ANNEX K
platforms:
  macOS:
    '27.0': {}
    '26.0':
      benchmarks:
        - name: cis_lvl2
        - name: disa_stig
          severity: medium
    '15.0':
      benchmarks:
        - name: cis_lvl2
        - name: disa_stig
          severity: medium
    enforcement_info:
      check:
        shell: /usr/bin/pwpolicy -getaccountpolicies 2> /dev/null | /usr/bin/tail +2 | /usr/bin/xmllint --xpath '//dict/key[text()="policyIdentifier"]/following-sibling::*[1]/text()' - | /usr/bin/grep "requireAlphanumeric" -c
        result:
          integer: 1
    introduced: '10.7'
  iOS:
    '27.0':
      supervised: false
    '26.0':
      supervised: false
      benchmarks:
        - name: indigo_base
        - name: indigo_high
    '18.0':
      supervised: false
      benchmarks:
        - name: indigo_base
        - name: indigo_high
    '17.0':
      supervised: false
      benchmarks:
        - name: indigo_base
        - name: indigo_high
    introduced: '4.0'
tags:
  - cisv8
  - cnssi-1253_low
  - cnssi-1253_high
  - cmmc_lvl2
  - cnssi-1253_moderate
  - hicp_lp
  - 800-171
  - 800-53r5_low
  - 800-53r5_moderate
  - 800-53r5_high
  - cmmc_lvl3
mobileconfig_info:
  - PayloadType: com.apple.mobiledevice.passwordpolicy
    PayloadContent:
      - requireAlphanumeric: true
ddm_info:
  declarationtype: com.apple.configuration.passcode.settings
  ddm_key: RequireAlphanumericPasscode
  ddm_value: true
