[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAP145pi-_i+YRFZdyf2UAQ1ZksW9S+KXdFNMwLK25Qrca02uOw@mail.gmail.com>
Date: Tue, 27 Jun 2017 11:15:41 +0200
From: Robert Święcki <robert@...ecki.net>
To: "qflb.wu" <qflb.wu@...ppsecurity.com.cn>
Cc: fulldisclosure@...lists.org
Subject: Re: [FD] Freeware Advanced Audio Decoder 2 (FAAD2) multiple
vulnerabilities
Nice finds!
Just a comment about "memory allocation errors". These would not
typically be considered a "vulnerability", unless there's something
obviously wrong with how much memory is allocated and possibly later
used. Allocation errors are in vast majority of cases reported to
end-users of tool/service, and it's considered a correct way of
handling this kind of problems.
Maybe faad could have a config option, like libjpeg what provides,
which limits size of single and total mem allocations, but it seems
optional.
2017-06-27 4:19 GMT+02:00 qflb.wu <qflb.wu@...ppsecurity.com.cn>:
> Freeware Advanced Audio Decoder 2 (FAAD2) multiple vulnerabilities
>
>
> ================
> Author : qflb.wu
> ===============
>
>
>
>
> Introduction:
> =============
> FAAD2 is a decoder for a lossy sound compression scheme specified in MPEG-2 Part 7 and MPEG-4 Part 3 standards and known as Advanced Audio Coding (AAC).
>
>
> Affected version:
> =====
> 2.7
>
>
> Vulnerability Description:
> ==========================
> 1.
> the mp4ff_read_stsd function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(invalid memory read and application crash) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stsd_invalid_memory_read.mp4 -o out.wav
>
>
> ASAN:SIGSEGV
> =================================================================
> ==79726==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000014 (pc 0x0000004a8cd5 sp 0x7ffe49bd3c20 bp 0x7ffe49bd3d20 T0)
> #0 0x4a8cd4 in mp4ff_read_stsd /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:386
> #1 0x4a8cd4 in mp4ff_atom_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:671
> #2 0x49e426 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:173
> #3 0x49b514 in parse_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:214
> #4 0x49a731 in mp4ff_open_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:43
> #5 0x47f80f in decodeMP4file /home/a/Downloads/faad2-2.7/frontend/main.c:778
> #6 0x47f80f in main /home/a/Downloads/faad2-2.7/frontend/main.c:1246
> #7 0x7f21554edec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
> #8 0x47cecc in _start (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x47cecc)
>
>
> AddressSanitizer can not provide additional info.
> SUMMARY: AddressSanitizer: SEGV /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:386 mp4ff_read_stsd
> ==79726==ABORTING
>
>
> POC:
> faad2_2.7_mp4ff_read_stsd_invalid_memory_read.mp4
> CVE:
> CVE-2017-9218
>
>
> 2.
> the mp4ff_read_stsc function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service (memory allocation error and application crash) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stsc_memory_allocation_error.mp4 -o out.wav
>
>
> ==81366==ERROR: AddressSanitizer failed to allocate 0xac003000 (2885693440) bytes of LargeMmapAllocator: 12
> ==81366==Process memory map follows:
> 0x000000400000-0x0000004db000/home/a/Downloads/faad2-2.7/frontend/.libs/faad
> 0x0000006db000-0x0000006dc000/home/a/Downloads/faad2-2.7/frontend/.libs/faad
> 0x0000006dc000-0x0000006e1000/home/a/Downloads/faad2-2.7/frontend/.libs/faad
> 0x0000006e1000-0x000001b25000
> 0x00007fff7000-0x00008fff7000
> ...
> ==81366==End of process memory map.
> ==81366========
> #0 0x46cd8f in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x46cd8f)
> #1 0x4725f1 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x4725f1)
> #2 0x476ebe in __sanitizer::MmapOrDie(unsigned long, char const*) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x476ebe)
> #3 0x432598 in __sanitizer::LargeMmapAllocator<__asan::AsanMapUnmapCallback>::Allocate(__sanitizer::AllocatorStats*, unsigned long, unsigned long) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x432598)
> #4 0x42e5db in __asan::Allocate(unsigned long, unsigned long, __sanitizer::StackTrace*, __asan::AllocType, bool) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x42e5db)
> #5 0x466e26 in __interceptor_malloc (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x466e26)
> #6 0x4aae52 in mp4ff_read_stsc /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:423
> #7 0x4aae52 in mp4ff_atom_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:665
> #8 0x49e426 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:173
> #9 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #10 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #11 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #12 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #13 0x49b514 in parse_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:214
> #14 0x49a731 in mp4ff_open_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:43
> #15 0x47f80f in decodeMP4file /home/a/Downloads/faad2-2.7/frontend/main.c:778
> #16 0x47f80f in main /home/a/Downloads/faad2-2.7/frontend/main.c:1246
> #17 0x7f7260e5cec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
> #18 0x47cecc in _start (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x47cecc)
>
>
> POC:
> faad2_2.7_mp4ff_read_stsc_memory_allocation_error.mp4
> CVE:
> CVE-2017-9219
>
>
> 3.
> the mp4ff_read_stco function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service (memory allocation error) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stco_memory_allocation_error.mp4 -o out.wav
>
>
> ==81459==WARNING: AddressSanitizer failed to allocate 0xfffffffe18000000 bytes
> ==81459==AddressSanitizer's allocator is terminating the process instead of returning 0
> ==81459==If you don't like this behavior set allocator_may_return_null=1
> ==81459==
> #0 0x46cd8f in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x46cd8f)
> #1 0x4725f1 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x4725f1)
> #2 0x471330 in __sanitizer::AllocatorReturnNull() (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x471330)
> #3 0x466e26 in __interceptor_malloc (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x466e26)
> #4 0x4aab2f in mp4ff_read_stco /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:448
> #5 0x4aab2f in mp4ff_atom_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:668
> #6 0x49e426 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:173
> #7 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #8 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #9 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #10 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #11 0x49b514 in parse_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:214
> #12 0x49a731 in mp4ff_open_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:43
> #13 0x47f80f in decodeMP4file /home/a/Downloads/faad2-2.7/frontend/main.c:778
> #14 0x47f80f in main /home/a/Downloads/faad2-2.7/frontend/main.c:1246
> #15 0x7f3a7dd64ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
> #16 0x47cecc in _start (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x47cecc)
>
>
> POC:
> faad2_2.7_mp4ff_read_stco_memory_allocation_error.mp4
> CVE:
> CVE-2017-9220
>
>
> 4.
> the mp4ff_read_mdhd function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(invalid memory read and application crash) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_mdhd_invalid_memory_read.mp4 -o out.wav
>
>
> ASAN:SIGSEGV
> =================================================================
> ==81533==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000009c (pc 0x0000004abd74 sp 0x7ffd8d1bb470 bp 0x7ffd8d1bb570 T0)
> #0 0x4abd73 in mp4ff_read_mdhd /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:614
> #1 0x4abd73 in mp4ff_atom_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:677
> #2 0x49e426 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:173
> #3 0x49e386 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:171
> #4 0x49b514 in parse_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:214
> #5 0x49a731 in mp4ff_open_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:43
> #6 0x47f80f in decodeMP4file /home/a/Downloads/faad2-2.7/frontend/main.c:778
> #7 0x47f80f in main /home/a/Downloads/faad2-2.7/frontend/main.c:1246
> #8 0x7f16f7a77ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
> #9 0x47cecc in _start (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x47cecc)
>
>
> AddressSanitizer can not provide additional info.
> SUMMARY: AddressSanitizer: SEGV /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:614 mp4ff_read_mdhd
> ==81533==ABORTING
>
>
> POC:
> faad2_2.7_mp4ff_read_mdhd_invalid_memory_read.mp4
> CVE:
> CVE-2017-9221
>
>
> 5.
> the mp4ff_parse_tag function in common/mp4ff/mp4meta.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can to cause a denial of service(infinite loop and CPU consumption) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_parse_tag_infinite_loop.mp4 -o out.wav
>
>
> POC:
> faad2_2.7_mp4ff_parse_tag_infinite_loop.mp4
> CVE:
> CVE-2017-9222
>
>
> 6.
> the mp4ff_read_stts function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(invalid memory read and application crash) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stts_invalid_memory_read.mp4 -o out.wav
>
>
> ASAN:SIGSEGV
> =================================================================
> ==86670==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x0000004aa0d1 sp 0x7ffc40cbbb80 bp 0x7ffc40cbbc80 T0)
> #0 0x4aa0d0 in mp4ff_read_stts /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:495
> #1 0x4aa0d0 in mp4ff_atom_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:659
> #2 0x49e426 in parse_sub_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:173
> #3 0x49b514 in parse_atoms /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:214
> #4 0x49a731 in mp4ff_open_read /home/a/Downloads/faad2-2.7/common/mp4ff/mp4ff.c:43
> #5 0x47f80f in decodeMP4file /home/a/Downloads/faad2-2.7/frontend/main.c:778
> #6 0x47f80f in main /home/a/Downloads/faad2-2.7/frontend/main.c:1246
> #7 0x7f0f9cfbeec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
> #8 0x47cecc in _start (/home/a/Downloads/faad2-2.7/frontend/.libs/faad+0x47cecc)
>
>
> AddressSanitizer can not provide additional info.
> SUMMARY: AddressSanitizer: SEGV /home/a/Downloads/faad2-2.7/common/mp4ff/mp4atom.c:495 mp4ff_read_stts
> ==86670==ABORTING
>
>
> POC:
> faad2_2.7_mp4ff_read_stts_invalid_memory_read.mp4
> CVE:
> CVE-2017-9223
>
>
> 7.
> the mp4ff_read_stsd function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(large loop and CPU consumption) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stsd_large_loop.mp4 -o out.wav
>
>
> static int32_t mp4ff_read_stsd(mp4ff_t *f)
> {
> int32_t i;
> uint8_t header_size = 0;
>
>
> mp4ff_read_char(f); /* version */
> mp4ff_read_int24(f); /* flags */
>
>
> f->track[f->total_tracks - 1]->stsd_entry_count = mp4ff_read_int32(f); <==========
>
>
> for (i = 0; i < f->track[f->total_tracks - 1]->stsd_entry_count; i++) <==========
> {
> uint64_t skip = mp4ff_position(f);
> uint64_t size;
> uint8_t atom_type = 0;
> size = mp4ff_atom_read_header(f, &atom_type, &header_size);
> skip += size;
>
>
> if (atom_type == ATOM_MP4A)
> {
> f->track[f->total_tracks - 1]->type = TRACK_AUDIO;
> mp4ff_read_mp4a(f);
> } else if (atom_type == ATOM_MP4V) {
> f->track[f->total_tracks - 1]->type = TRACK_VIDEO;
> } else if (atom_type == ATOM_MP4S) {
> f->track[f->total_tracks - 1]->type = TRACK_SYSTEM;
> } else {
> f->track[f->total_tracks - 1]->type = TRACK_UNKNOWN;
> }
>
>
> mp4ff_set_position(f, skip);
> }
>
>
> return 0;
> }
>
>
> POC:
> faad2_2.7_mp4ff_read_stsd_large_loop.mp4
> CVE:
> CVE-2017-9253
>
>
> 8.
> the mp4ff_read_stts function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(large loop and CPU consumption) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stts_large_loop.mp4 -o out.wav
>
>
> static int32_t mp4ff_read_stts(mp4ff_t *f)
> {
> int32_t i;
> mp4ff_track_t * p_track = f->track[f->total_tracks - 1];
>
>
> if (p_track->stts_entry_count) return 0;
>
>
> mp4ff_read_char(f); /* version */
> mp4ff_read_int24(f); /* flags */
> p_track->stts_entry_count = mp4ff_read_int32(f); <============
>
>
> p_track->stts_sample_count = (int32_t*)malloc(p_track->stts_entry_count * sizeof(int32_t));
> p_track->stts_sample_delta = (int32_t*)malloc(p_track->stts_entry_count * sizeof(int32_t));
>
>
> if (p_track->stts_sample_count == 0 || p_track->stts_sample_delta == 0)
> {
> if (p_track->stts_sample_count) {free(p_track->stts_sample_count);p_track->stts_sample_count=0;}
> if (p_track->stts_sample_delta) {free(p_track->stts_sample_delta);p_track->stts_sample_delta=0;}
> p_track->stts_entry_count = 0;
> return 0;
> }
> else
> {
> for (i = 0; i < f->track[f->total_tracks - 1]->stts_entry_count; i++) <===========
> {
> p_track->stts_sample_count[i] = mp4ff_read_int32(f);
> p_track->stts_sample_delta[i] = mp4ff_read_int32(f);
> }
> return 1;
> }
> }
>
>
> POC:
> faad2_2.7_mp4ff_read_stts_large_loop.mp4
> CVE:
> CVE-2017-9254
>
>
> 9.
> the mp4ff_read_stsc function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(large loop and CPU consumption) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stsc_large_loop.mp4 -o out.wav
>
>
> static int32_t mp4ff_read_stsc(mp4ff_t *f)
> {
> int32_t i;
>
>
> mp4ff_read_char(f); /* version */
> mp4ff_read_int24(f); /* flags */
> f->track[f->total_tracks - 1]->stsc_entry_count = mp4ff_read_int32(f); <========
>
>
> f->track[f->total_tracks - 1]->stsc_first_chunk =
> (int32_t*)malloc(f->track[f->total_tracks - 1]->stsc_entry_count*sizeof(int32_t));
> f->track[f->total_tracks - 1]->stsc_samples_per_chunk =
> (int32_t*)malloc(f->track[f->total_tracks - 1]->stsc_entry_count*sizeof(int32_t));
> f->track[f->total_tracks - 1]->stsc_sample_desc_index =
> (int32_t*)malloc(f->track[f->total_tracks - 1]->stsc_entry_count*sizeof(int32_t));
>
>
> for (i = 0; i < f->track[f->total_tracks - 1]->stsc_entry_count; i++) <========
> {
> f->track[f->total_tracks - 1]->stsc_first_chunk[i] = mp4ff_read_int32(f);
> f->track[f->total_tracks - 1]->stsc_samples_per_chunk[i] = mp4ff_read_int32(f);
> f->track[f->total_tracks - 1]->stsc_sample_desc_index[i] = mp4ff_read_int32(f);
> }
>
>
> return 0;
> }
>
>
> POC:
> faad2_2.7_mp4ff_read_stsc_large_loop.mp4
> CVE:
> CVE-2017-9255
>
>
> 10.
> the mp4ff_read_stco function in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 can cause a denial of service(large loop and CPU consumption) via a crafted mp4 file.
>
>
> ./faad faad2_2.7_mp4ff_read_stco_large_loop.mp4 -o out.wav
>
>
> static int32_t mp4ff_read_stco(mp4ff_t *f)
> {
> int32_t i;
>
>
> mp4ff_read_char(f); /* version */
> mp4ff_read_int24(f); /* flags */
> f->track[f->total_tracks - 1]->stco_entry_count = mp4ff_read_int32(f); <========
>
>
> f->track[f->total_tracks - 1]->stco_chunk_offset =
> (int32_t*)malloc(f->track[f->total_tracks - 1]->stco_entry_count*sizeof(int32_t));
>
>
> for (i = 0; i < f->track[f->total_tracks - 1]->stco_entry_count; i++) <========
> {
> f->track[f->total_tracks - 1]->stco_chunk_offset[i] = mp4ff_read_int32(f);
> }
>
>
> return 0;
> }
>
>
> POC:
> faad2_2.7_mp4ff_read_stco_large_loop.mp4
> CVE:
> CVE-2017-9256
>
>
> 11.
> the mp4ff_read_ctts in common/mp4ff/mp4atom.c in Freeware Advanced Audio Decoder 2 (FAAD2) 2.7 allows can cause a denial of service(large loop and CPU consumption) via a crafted mp4 file.
>
>
> static int32_t mp4ff_read_ctts(mp4ff_t *f)
> {
> int32_t i;
> mp4ff_track_t * p_track = f->track[f->total_tracks - 1]; <========
>
>
> if (p_track->ctts_entry_count) return 0;
>
>
> mp4ff_read_char(f); /* version */
> mp4ff_read_int24(f); /* flags */
> p_track->ctts_entry_count = mp4ff_read_int32(f); <========
>
>
> p_track->ctts_sample_count = (int32_t*)malloc(p_track->ctts_entry_count * sizeof(int32_t));
> p_track->ctts_sample_offset = (int32_t*)malloc(p_track->ctts_entry_count * sizeof(int32_t));
>
>
> if (p_track->ctts_sample_count == 0 || p_track->ctts_sample_offset == 0)
> {
> if (p_track->ctts_sample_count) {free(p_track->ctts_sample_count);p_track->ctts_sample_count=0;}
> if (p_track->ctts_sample_offset) {free(p_track->ctts_sample_offset);p_track->ctts_sample_offset=0;}
> p_track->ctts_entry_count = 0;
> return 0;
> }
> else
> {
> for (i = 0; i < f->track[f->total_tracks - 1]->ctts_entry_count; i++) <========
> {
> p_track->ctts_sample_count[i] = mp4ff_read_int32(f);
> p_track->ctts_sample_offset[i] = mp4ff_read_int32(f);
> }
> return 1;
> }
> }
>
>
> CVE:
> CVE-2017-9257
>
>
>
>
> ===============================
>
>
>
>
> qflb.wu () dbappsecurity com cn
>
> _______________________________________________
> Sent through the Full Disclosure mailing list
> https://nmap.org/mailman/listinfo/fulldisclosure
> Web Archives & RSS: http://seclists.org/fulldisclosure/
--
Robert Święcki
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/
Powered by blists - more mailing lists