Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Way of Fuzzing Packet #3942

Merged
merged 6 commits into from
Oct 31, 2023
Merged

New Way of Fuzzing Packet #3942

merged 6 commits into from
Oct 31, 2023

Conversation

gaurav2699
Copy link
Contributor

Description

This PR focuses on the the work involving fuzzing of the packets by modifying different bytes of the packet array instead of header values.

Testing

Do any existing tests cover this change? Are new tests needed?

Documentation

Is there any documentation impact for this change?

@gaurav2699 gaurav2699 requested a review from a team as a code owner October 27, 2023 20:47
@codecov
Copy link

codecov bot commented Oct 27, 2023

Codecov Report

Merging #3942 (19a5045) into main (73629f6) will increase coverage by 0.24%.
Report is 5 commits behind head on main.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #3942      +/-   ##
==========================================
+ Coverage   86.76%   87.01%   +0.24%     
==========================================
  Files          56       56              
  Lines       16901    16901              
==========================================
+ Hits        14664    14706      +42     
+ Misses       2237     2195      -42     

see 17 files with indirect coverage changes

src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
src/tools/recvfuzz/recvfuzz.cpp Outdated Show resolved Hide resolved
@nibanks nibanks added the Area: Stress Related to stress testing with spinquic label Oct 30, 2023
@nibanks
Copy link
Member

nibanks commented Oct 30, 2023

Your tool hit this:

==4188==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x00f7a58fef87 at pc 0x7ff67d2aac5f bp 0x00f7a58feb30 sp 0x00f7a58feb30
READ of size 1 at 0x00f7a58fef87 thread T0
    #0 0x7ff67d2aac5e in QuicCryptoCombineIvAndPacketNumber D:\a\msquic\msquic\src\inc\quic_crypt.h:275
    #1 0x7ff67d2a2676 in buildInitialPacket(struct CXPLAT_SOCKET *, struct CXPLAT_ROUTE, __int64 *, __int64 *, bool) D:\a\msquic\msquic\src\tools\recvfuzz\recvfuzz.cpp:471
    #2 0x7ff67d2a2ce1 in fuzz(struct CXPLAT_SOCKET *, struct CXPLAT_ROUTE) D:\a\msquic\msquic\src\tools\recvfuzz\recvfuzz.cpp:520
    #3 0x7ff67d2a3822 in start(void) D:\a\msquic\msquic\src\tools\recvfuzz\recvfuzz.cpp:598
    #4 0x7ff67d2a3a[13](https://github.com/microsoft/msquic/actions/runs/6695229133/job/18190860302?pr=3942#step:7:14) in main D:\a\msquic\msquic\src\tools\recvfuzz\recvfuzz.cpp:622
    #5 0x7ff67d4541fb in invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
    #6 0x7ff67d4541fb in __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    #7 0x7ffac7244ddf  (C:\Windows\System32\KERNEL32.DLL+0x1800[14](https://github.com/microsoft/msquic/actions/runs/6695229133/job/18190860302?pr=3942#step:7:15)ddf)
    #8 0x7ffac7cfed9a  (C:\Windows\SYSTEM32\ntdll.dll+0x[18](https://github.com/microsoft/msquic/actions/runs/6695229133/job/18190860302?pr=3942#step:7:19)007ed9a)

@nibanks nibanks merged commit cacaa20 into main Oct 31, 2023
396 of 398 checks passed
@nibanks nibanks deleted the recvfuzz branch October 31, 2023 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Stress Related to stress testing with spinquic
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants