Undesired spoof user agent sent to Google
Categories
(Web Compatibility :: Tooling & Investigations, defect)
Tracking
(Not tracked)
People
(Reporter: jfield123s, Unassigned)
Details
Attachments
(1 file)
305.23 KB,
image/jpeg
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Steps to reproduce:
TL:DR Firefox is sending a different UA to Google although I have no extension or setting requesting this.
Background:
There is a longstanding issue where Google serves less sophisticated search results pages to Firefox Android users e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=975444
Last year I tried a UA switcher extension that sent a spoofed UA string to Google. This caused me to receive the latest style search results. I stopped using it when I noticed I was receiving more reCaptchas in general browsing, and my search results reverted to the old style. I have not had it installed since.
I happened to reinstall Firefox a few times since then on multiple phones and I noticed that on some installations I got both the new style results and extra reCaptchas, while other times I got neither. E.g. on my Samsung S8 I initially got both but after uninstalling and reinstalling the app I got neither. This was despite me not using the UA changer extension in either case.
On my S10 running Firefox 68.5.0 I get the new style search results and I also see more reCaptchas. When I use a third party UA checker such as https://www.whatismybrowser.com/detect/what-is-my-user-agent I get 'Mozilla/5.0 (Android 10; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0'.
However when Googling 'what is my useragent' the Google search results page gives my useragent as 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) FxQuantum/68.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Mobile Safari/537.36'.
This is displayed at the top of the Google search results page in Google's quick snippet style.
This shows that Google is being sent a different UA string.
I have searched about:config for useragent related settings and all are at default. I have also disabled all extensions.
What I did:
Installed firefox android and searched google for 'what is my useragent'.
Below is content of about:support (with extensions reenabled):
Application Basics
Name: Fennec
Version: 68.5.0
Build ID: 20200206211857
User Agent: Mozilla/5.0 (Android 10; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0
OS: Linux 29
Multiprocess Windows: 0/1 Disabled
Remote Processes: 0
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Crash Reports for the Last 3 Days
Firefox Features
Name: Web Compat
Version: 7.0.0
ID: webcompat@mozilla.org
Remote Processes
Extensions
Name: Bypass Paywalls
Version: 1.6.6
Enabled: true
ID: bypasspaywalls@bypasspaywalls.weebly.com
Name: uBlock Origin
Version: 1.25.0
Enabled: true
ID: uBlock0@raymondhill.net
Graphics
Features
Compositing: OpenGL
Asynchronous Pan/Zoom: touch input enabled; autoscroll enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: Android EGL_VERSION: 1.4 Android META-EGL EGL_EXTENSIONS: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_get_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_ANDROID_get_frame_timestamps EGL_EXT_surface_SMPTE2086_metadata EGL_EXT_surface_CTA861_3_metadata EGL_EXT_gl_colorspace_scrgb EGL_EXT_gl_colorspace_scrgb_linear EGL_EXT_gl_colorspace_display_p3_linear EGL_EXT_gl_colorspace_display_p3 EGL_EXT_gl_colorspace_display_p3_passthrough EGL_EXT_gl_colorspace_bt2020_linear EGL_EXT_gl_colorspace_bt2020_pq EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_config_attribs EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_partial_update EGL_EXT_pixel_format_float EGL_KHR_mutable_render_buffer EGL_EXT_protected_content EGL_IMG_context_priority EGL_KHR_no_config_context
WebGL 1 Driver Renderer: ARM -- Mali-G76
WebGL 1 Driver Version: OpenGL ES 3.2 v1.r19p0-01rel0.###other-sha0123456789ABCDEF0###
WebGL 1 Driver Extensions: GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_compression_astc_decode_mode_rgb9e5 GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array GL_EXT_texture_filter_anisotropic
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_sRGB EXT_texture_filter_anisotropic OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_lose_context
WebGL 2 Driver WSI Info: EGL_VENDOR: Android EGL_VERSION: 1.4 Android META-EGL EGL_EXTENSIONS: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_get_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_ANDROID_get_frame_timestamps EGL_EXT_surface_SMPTE2086_metadata EGL_EXT_surface_CTA861_3_metadata EGL_EXT_gl_colorspace_scrgb EGL_EXT_gl_colorspace_scrgb_linear EGL_EXT_gl_colorspace_display_p3_linear EGL_EXT_gl_colorspace_display_p3 EGL_EXT_gl_colorspace_display_p3_passthrough EGL_EXT_gl_colorspace_bt2020_linear EGL_EXT_gl_colorspace_bt2020_pq EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_config_attribs EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_partial_update EGL_EXT_pixel_format_float EGL_KHR_mutable_render_buffer EGL_EXT_protected_content EGL_IMG_context_priority EGL_KHR_no_config_context
WebGL 2 Driver Renderer: ARM -- Mali-G76
WebGL 2 Driver Version: OpenGL ES 3.2 v1.r19p0-01rel0.###other-sha0123456789ABCDEF0###
WebGL 2 Driver Extensions: GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_EXT_texture_compression_astc_decode_mode GL_EXT_texture_compression_astc_decode_mode_rgb9e5 GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array GL_EXT_texture_filter_anisotropic
WebGL 2 Extensions: EXT_color_buffer_float EXT_disjoint_timer_query EXT_texture_filter_anisotropic WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Uses Tiling: true
Uses Tiling (Content): true
Target Frame Rate: 60
GPU #1
Active: Yes
Description: Model: SM-G973F, Product: beyond1lteeea, Manufacturer: samsung, Hardware: exynos9820, OpenGL: ARM -- Mali-G76 -- OpenGL ES 3.2 v1.r19p0-01rel0.###other-sha0123456789ABCDEF0###
Vendor ID: ARM
Device ID: Mali-G76
Driver Version: OpenGL ES 3.2 v1.r19p0-01rel0.###other-sha0123456789ABCDEF0###
Diagnostics
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
TileHeight: 512
TileWidth: 512
Decision Log
HW_COMPOSITING:
force_enabled by user: Force-enabled by pref
OPENGL_COMPOSITING:
force_enabled by user: Force-enabled by pref
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
unavailable by runtime: WebRender not ready for use on non-e10s Android
WEBRENDER_QUALIFIED:
blocked-vendor-unsupported by env: Unsupported vendor
OMTP:
disabled by default: Disabled by default
Failure Log
(#0) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#11) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#12) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#13) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#14) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#15) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#16) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#17) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#18) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#19) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#20) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#21) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#22) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#23) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#24) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
(#25) Error: Failed to allocate a surface due to invalid size (DTD) Size(41167,127)
Media
Audio Backend: opensl
Max Channels: 2
Preferred Sample Rate: 48000
Output Devices
Name: Group
:
Input Devices
Name: Group
:
Important Modified Preferences
browser.cache.disk.amount_written: 791646
browser.cache.disk.capacity: 524288
browser.cache.disk.filesystem_reported: 1
browser.search.suggest.enabled: true
browser.startup.homepage_override.mstone: 68.5.0
dom.presentation.device.name: SM-G973F
extensions.lastAppVersion: 68.5.0
idle.lastDailyNotification: 1583698621
media.gmp-gmpopenh264.enabled: false
media.gmp-gmpopenh264.visible: false
media.gmp-manager.buildID: 20200206211857
media.gmp-manager.lastCheck: 1583695073
media.gmp.storage.version.observed: 1
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.predictor.enabled: false
network.prefetch-next: false
signon.rememberSignons: false
storage.vacuum.last.index: 0
Important Locked Preferences
JavaScript
Incremental GC: true
Accessibility
Activated: true
Prevent Accessibility: 0
Library Versions
NSPR
Expected minimum version: 4.21
Version in use: 4.21
NSS
Expected minimum version: 3.44.3
Version in use: 3.44.3
NSSSMIME
Expected minimum version: 3.44.3
Version in use: 3.44.3
NSSSSL
Expected minimum version: 3.44.3
Version in use: 3.44.3
NSSUTIL
Expected minimum version: 3.44.3
Version in use: 3.44.3
Internationalization & Localization
Application Settings
Requested Locales: ["en-GB"]
Available Locales: ["an","ar","ast","az","be","bg","bn","br","bs","ca","cak","cs","cy","da","de","dsb","el","en-CA","en-GB","en-US","eo","es-AR","es-CL","es-ES","es-MX","et","eu","fa","ff","fi","fr","fy-NL","ga-IE","gd","gl","gn","gu-IN","he","hi-IN","hr","hsb","hu","hy-AM","id","is","it","ja","ka","kab","kk","kn","ko","lij","lo","lt","lv","ml","mr","ms","my","nb-NO","ne-NP","nl","nn-NO","oc","pa-IN","pl","pt-BR","pt-PT","rm","ro","ru","sk","sl","son","sq","sr","sv-SE","ta","te","th","tr","trs","uk","ur","uz","vi","wo","xh","zam","zh-CN","zh-TW"]
App Locales: ["en-GB","en-US","en-CA"]
Regional Preferences: ["en-GB"]
Default Locale: "en-US"
Operating System
System Locales: ["en-GB"]
Regional Preferences: ["en-GB"]
Actual results:
Google search results page gives my useragent as 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) FxQuantum/68.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Mobile Safari/537.36'.
Expected results:
Google should have received user agent 'Mozilla/5.0 (Android 10; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0'.
Comment 1•5 years ago
|
||
The WebCompat team was/is running a study.
Reporter | ||
Comment 2•5 years ago
|
||
Does Firefox android have studies? The about:studies page doesn't work and there are no settings for it.
Comment 3•5 years ago
|
||
Hi Jfield123s it does have studies, though they are rare I believe.
If you would like to disabled, you can navigate to about:config
and toggle extensions.webcompat.enable_enhanced_search
to false.
Leaving this open to investigate how many others might be stuck in this state.
Reporter | ||
Comment 4•5 years ago
|
||
Thank you. Using the tests at https://recaptcha-demo.appspot.com/ on v2 I am no longer asked to solve a puzzle and on v3 my score jumped to 0.9 (effectively the highest).
Comment 5•5 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is --
(Backlog,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
Comment 6•5 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is --
(Backlog,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
Comment 7•5 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is --
(Backlog,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
Comment 8•5 years ago
|
||
The severity of these bugs was changed, mistakenly, from normal
to S3
.
Because these bugs have a priority of --
, indicating that they have not been previously triaged, these bugs should be changed to Severity of --
.
Updated•5 years ago
|
Description
•