Repository: yt-dlp
Issue: [abciview] ERROR: Data must be padded to 16 byte boundary in CBC mode
Labels: bug,geo-blocked,site-bug

### Checklist

- [X] I'm reporting a bug unrelated to a specific site
- [X] I've verified that I'm running yt-dlp version **2022.05.18** ([update instructions](https://github.com/yt-dlp/yt-dlp#update)) or later (specify commit)
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/ytdl-org/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [X] I've searched the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues including closed ones. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)

### Description

Download begins then stops with this error: "ERROR: Data must be padded to 16 byte boundary in CBC mode". 

### Verbose log

```shell
[debug] Invoking hlsnative downloader on "https://iview-vod-hls.akamaized.net/prod/zw3/ZW3040A001S00MA1D1/20210908051741/hls/4500000/hdntl=exp=1653131813~acl=%2f*~data=hdntl~hmac=968b90b5a9ec2efc1e020f0d280af19668f4d9fff35fcde9c17d1236543497c6/stream.m3u8?aka_me_session_id=AAAAAAAAAAAlyohiAAAAAIV7zCwd0HGHqUdzBIZg0ja5vozQgVmfzpL8R6FzBHOiCKK1yd4SaW0I3Lpa2721IdAe29m1IaW5&aka_media_format_type=hls"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 270
[download] Destination: /mnt/AU/Temporary/NA/20210924-ZW3040A001S00-Series 1 Ep 1.mp4
[download]   0.4% of ~975.58MiB at 559.83KiB/s ETA 29:37[download] Got server HTTP error: Downloaded 3784784 bytes, expected 3788768 bytes. Retrying (attempt 1 of 10) ...
[download]   0.4% of ~975.58MiB at 373.69KiB/s ETA 44:22 (frag 1/270)ERROR: Data must be padded to 16 byte boundary in CBC mode
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1395, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1479, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1535, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2640, in process_video_result
    self.process_info(new_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3130, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2838, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/common.py", line 445, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/hls.py", line 348, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 522, in download_and_append_fragments
    decrypt_fragment(fragment, self._read_fragment(ctx)), fragment['frag_index'], ctx)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 365, in decrypt_fragment
    return unpad_pkcs7(aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv))
  File "/usr/local/bin/yt-dlp/yt_dlp/aes.py", line 10, in aes_cbc_decrypt_bytes
    return Cryptodome_AES.new(key, Cryptodome_AES.MODE_CBC, iv).decrypt(data)
  File "/home/pi/.local/lib/python3.9/site-packages/Cryptodome/Cipher/_mode_cbc.py", line 246, in decrypt
    raise ValueError("Data must be padded to %d byte boundary in CBC mode" % self.block_size)
ValueError: Data must be padded to 16 byte boundary in CBC mode
```